浏览代码

Merge branch '4.1' into 4.2-beta

Mario Zechner 3 年之前
父节点
当前提交
9beeb20d9d

+ 2 - 0
spine-c/spine-c/src/spine/SkeletonJson.c

@@ -1258,6 +1258,8 @@ spSkeletonData *spSkeletonJson_readSkeletonData(spSkeletonJson *self, const char
 				data->spacingMode = SP_SPACING_MODE_FIXED;
 			else if (strcmp(item, "percent") == 0)
 				data->spacingMode = SP_SPACING_MODE_PERCENT;
+			else
+				data->spacingMode = SP_SPACING_MODE_PROPORTIONAL;
 
 			item = Json_getString(constraintMap, "rotateMode", "tangent");
 			if (strcmp(item, "tangent") == 0) data->rotateMode = SP_ROTATE_MODE_TANGENT;

+ 9 - 8
spine-cocos2dx/spine-cocos2dx/src/spine/v4/SkeletonBatch.cpp

@@ -40,6 +40,7 @@ using std::max;
 
 #include "renderer/backend/Device.h"
 #include "renderer/ccShaders.h"
+#include "renderer/backend/Types.h"
 
 namespace spine {
 
@@ -89,17 +90,17 @@ namespace spine {
 	void SkeletonBatch::updateProgramStateLayout(cocos2d::backend::ProgramState *programState) {
 		auto vertexLayout = programState->getVertexLayout();
 
-		auto locPosition = programState->getAttributeLocation("a_position");
-		auto locTexcoord = programState->getAttributeLocation("a_texCoord");
-		auto locColor = programState->getAttributeLocation("a_color");
-		vertexLayout->setAttribute("a_position", locPosition, backend::VertexFormat::FLOAT3, offsetof(V3F_C4B_T2F, vertices), false);
-		vertexLayout->setAttribute("a_color", locColor, backend::VertexFormat::UBYTE4, offsetof(V3F_C4B_T2F, colors), true);
-		vertexLayout->setAttribute("a_texCoord", locTexcoord, backend::VertexFormat::FLOAT2, offsetof(V3F_C4B_T2F, texCoords), false);
+		auto locPosition = programState->getAttributeLocation(backend::ATTRIBUTE_NAME_POSITION);
+		auto locTexcoord = programState->getAttributeLocation(backend::ATTRIBUTE_NAME_TEXCOORD);
+		auto locColor = programState->getAttributeLocation(backend::ATTRIBUTE_NAME_COLOR);
+		vertexLayout->setAttribute(backend::ATTRIBUTE_NAME_POSITION, locPosition, backend::VertexFormat::FLOAT3, offsetof(V3F_C4B_T2F, vertices), false);
+		vertexLayout->setAttribute(backend::ATTRIBUTE_NAME_COLOR, locColor, backend::VertexFormat::UBYTE4, offsetof(V3F_C4B_T2F, colors), true);
+		vertexLayout->setAttribute(backend::ATTRIBUTE_NAME_TEXCOORD, locTexcoord, backend::VertexFormat::FLOAT2, offsetof(V3F_C4B_T2F, texCoords), false);
 		vertexLayout->setLayout(sizeof(_vertices[0]));
 
 
-		_locMVP = programState->getUniformLocation("u_MVPMatrix");
-		_locTexture = programState->getUniformLocation("u_texture");
+		_locMVP = programState->getUniformLocation(backend::UNIFORM_NAME_MVP_MATRIX);
+		_locTexture = programState->getUniformLocation(backend::UNIFORM_NAME_TEXTURE);
 	}
 
 	void SkeletonBatch::update(float delta) {

+ 42 - 42
spine-cpp/spine-cpp/src/spine/SkeletonJson.cpp

@@ -512,43 +512,43 @@ SkeletonData *SkeletonJson::readSkeletonData(const char *json) {
 				skeletonData->_defaultSkin = skin;
 			}
 
-			for (attachmentsMap = Json::getItem(skinMap,
-												"attachments")
-										  ->_child;
-				 attachmentsMap; attachmentsMap = attachmentsMap->_next) {
-				SlotData *slot = skeletonData->findSlot(attachmentsMap->_name);
-				Json *attachmentMap;
-
-				for (attachmentMap = attachmentsMap->_child; attachmentMap; attachmentMap = attachmentMap->_next) {
-					Attachment *attachment = NULL;
-					const char *skinAttachmentName = attachmentMap->_name;
-					const char *attachmentName = Json::getString(attachmentMap, "name", skinAttachmentName);
-					const char *attachmentPath = Json::getString(attachmentMap, "path", attachmentName);
-					const char *color;
-					Json *entry;
-
-					const char *typeString = Json::getString(attachmentMap, "type", "region");
-					AttachmentType type;
-					if (strcmp(typeString, "region") == 0) type = AttachmentType_Region;
-					else if (strcmp(typeString, "mesh") == 0)
-						type = AttachmentType_Mesh;
-					else if (strcmp(typeString, "linkedmesh") == 0)
-						type = AttachmentType_Linkedmesh;
-					else if (strcmp(typeString, "boundingbox") == 0)
-						type = AttachmentType_Boundingbox;
-					else if (strcmp(typeString, "path") == 0)
-						type = AttachmentType_Path;
-					else if (strcmp(typeString, "clipping") == 0)
-						type = AttachmentType_Clipping;
-					else if (strcmp(typeString, "point") == 0)
-						type = AttachmentType_Point;
-					else {
-						delete skeletonData;
-						setError(root, "Unknown attachment type: ", typeString);
-						return NULL;
-					}
+			Json *attachments = Json::getItem(skinMap, "attachments");
+			if (attachments)
+				for (attachmentsMap = attachments->_child;
+					 attachmentsMap; attachmentsMap = attachmentsMap->_next) {
+					SlotData *slot = skeletonData->findSlot(attachmentsMap->_name);
+					Json *attachmentMap;
+
+					for (attachmentMap = attachmentsMap->_child; attachmentMap; attachmentMap = attachmentMap->_next) {
+						Attachment *attachment = NULL;
+						const char *skinAttachmentName = attachmentMap->_name;
+						const char *attachmentName = Json::getString(attachmentMap, "name", skinAttachmentName);
+						const char *attachmentPath = Json::getString(attachmentMap, "path", attachmentName);
+						const char *color;
+						Json *entry;
+
+						const char *typeString = Json::getString(attachmentMap, "type", "region");
+						AttachmentType type;
+						if (strcmp(typeString, "region") == 0) type = AttachmentType_Region;
+						else if (strcmp(typeString, "mesh") == 0)
+							type = AttachmentType_Mesh;
+						else if (strcmp(typeString, "linkedmesh") == 0)
+							type = AttachmentType_Linkedmesh;
+						else if (strcmp(typeString, "boundingbox") == 0)
+							type = AttachmentType_Boundingbox;
+						else if (strcmp(typeString, "path") == 0)
+							type = AttachmentType_Path;
+						else if (strcmp(typeString, "clipping") == 0)
+							type = AttachmentType_Clipping;
+						else if (strcmp(typeString, "point") == 0)
+							type = AttachmentType_Point;
+						else {
+							delete skeletonData;
+							setError(root, "Unknown attachment type: ", typeString);
+							return NULL;
+						}
 
-					switch (type) {
+						switch (type) {
 						case AttachmentType_Region: {
 							Sequence *sequence = readSequence(Json::getItem(attachmentMap, "sequence"));
 							attachment = _attachmentLoader->newRegionAttachment(*skin, attachmentName, attachmentPath, sequence);
@@ -632,8 +632,8 @@ SkeletonData *SkeletonJson::readSkeletonData(const char *json) {
 								bool inheritTimelines = Json::getInt(attachmentMap, "timelines", 1) ? true : false;
 								LinkedMesh *linkedMesh = new (__FILE__, __LINE__) LinkedMesh(mesh,
 																							 String(Json::getString(
-																									 attachmentMap,
-																									 "skin", 0)),
+																										attachmentMap,
+																										"skin", 0)),
 																							 slot->getIndex(),
 																							 String(entry->_valueString),
 																							 inheritTimelines);
@@ -661,7 +661,7 @@ SkeletonData *SkeletonJson::readSkeletonData(const char *json) {
 							int vertexCount = 0;
 							pathAttatchment->_closed = Json::getInt(attachmentMap, "closed", 0) ? true : false;
 							pathAttatchment->_constantSpeed = Json::getInt(attachmentMap, "constantSpeed", 1) ? true
-																											  : false;
+								: false;
 							vertexCount = Json::getInt(attachmentMap, "vertexCount", 0);
 							readVertices(attachmentMap, pathAttatchment, vertexCount << 1);
 
@@ -704,11 +704,11 @@ SkeletonData *SkeletonJson::readSkeletonData(const char *json) {
 							_attachmentLoader->configureAttachment(attachment);
 							break;
 						}
-					}
+						}
 
-					skin->setAttachment(slot->getIndex(), skinAttachmentName, attachment);
+						skin->setAttachment(slot->getIndex(), skinAttachmentName, attachment);
+					}
 				}
-			}
 		}
 	}
 

+ 5 - 5
spine-godot/README.md

@@ -16,7 +16,7 @@ For the official legal terms governing the Spine Runtimes, please read the [Spin
 
 ## Spine version
 
-spine-godot works with data exported from Spine 4.2.xx.
+spine-godot works with data exported from Spine 4.1.xx.
 
 spine-godot supports all Spine features, except two-color tinting and the screen blend mode.
 
@@ -30,10 +30,10 @@ spine-godot works with the latest stable Godot 3.4 release. It requires compilat
 
 We provide prebuilt Godot editor and export template binaries for Godot 3.4.4-stable:
 
-* [Godot Editor Windows](https://spine-godot.s3.eu-central-1.amazonaws.com/4.2-beta/3.4.4-stable/godot-editor-windows.zip)
-* [Godot Editor Linux](https://spine-godot.s3.eu-central-1.amazonaws.com/4.2-beta/3.4.4-stable/godot-editor-linux.zip)
-* [Godot Editor macOS](https://spine-godot.s3.eu-central-1.amazonaws.com/4.2-beta/3.4.4-stable/godot-editor-macos.zip)
-* [Godot export templates for Windows, Linux, macOS, Web, Android, iOS](https://spine-godot.s3.eu-central-1.amazonaws.com/4.2-beta/3.4.4-stable/spine-godot-templates-4.2-beta-3.4.4-stable.tpz)
+* [Godot Editor Windows](https://spine-godot.s3.eu-central-1.amazonaws.com/4.1/3.4.4-stable/godot-editor-windows.zip)
+* [Godot Editor Linux](https://spine-godot.s3.eu-central-1.amazonaws.com/4.1/3.4.4-stable/godot-editor-linux.zip)
+* [Godot Editor macOS](https://spine-godot.s3.eu-central-1.amazonaws.com/4.1/3.4.4-stable/godot-editor-macos.zip)
+* [Godot export templates for Windows, Linux, macOS, Web, Android, iOS](https://spine-godot.s3.eu-central-1.amazonaws.com/4.1/3.4.4-stable/spine-godot-templates-4.1-3.4.4-stable.tpz)
 
 ### Building the Godot editor and export templates locally
 

+ 2 - 2
spine-libgdx/spine-libgdx/pom.xml

@@ -10,7 +10,7 @@
 	<groupId>com.esotericsoftware.spine</groupId>
 	<artifactId>spine-libgdx</artifactId>
 	<packaging>jar</packaging>
-	<version>4.1.0-SNAPSHOT</version>
+	<version>4.1.1-SNAPSHOT</version>
 
 
 	<name>spine-libgdx</name>
@@ -39,7 +39,7 @@
 		<connection>scm:git:https://github.com/EsotericSoftware/spine-runtimes.git</connection>
 		<developerConnection>scm:git:https://github.com/EsotericSoftware/spine-runtimes.git</developerConnection>
 		<url>https://github.com/EsotericSoftware/spine-runtimes/</url>
-	  <tag>4.0.02.1</tag>
+	  <tag>spine-libgdx-4.1.0</tag>
   </scm>
 
 	<repositories>

+ 1 - 1
spine-unity/Assets/Spine/Editor/spine-unity/Editor/Asset Types/SkeletonDataAssetInspector.cs

@@ -193,7 +193,7 @@ namespace Spine.Unity.Editor {
 				}
 
 				if (changeCheck.changed) {
-					if (requiresReload || serializedObject.ApplyModifiedProperties()) {
+					if (serializedObject.ApplyModifiedProperties() || requiresReload) {
 						this.Clear();
 						this.InitializeEditor();
 

+ 1 - 1
spine-unity/Assets/Spine/Runtime/spine-unity/Modules/TK2D/SpriteCollectionAttachmentLoader.cs

@@ -105,7 +105,7 @@ namespace Spine.Unity.TK2D {
 			page.rendererObject = material;
 			region.page = page;
 			region.u = u;
-			region.u = v;
+			region.v = v;
 			region.u2 = u2;
 			region.v2 = v2;
 			region.rotate = regionRotated;