mirror of
https://github.com/EsotericSoftware/spine-runtimes.git
synced 2026-03-01 05:09:07 +08:00
[csharp] Renamed utility method ReadByte to ReadUByte to prevent future porting pitfalls (see preceding commit).
This commit is contained in:
parent
cb33b34a4a
commit
be25484ac2
@ -307,7 +307,7 @@ namespace Spine {
|
|||||||
if ((flags & 8) != 0) data.rotate = input.ReadFloat();
|
if ((flags & 8) != 0) data.rotate = input.ReadFloat();
|
||||||
if ((flags & 16) != 0) data.scaleX = input.ReadFloat();
|
if ((flags & 16) != 0) data.scaleX = input.ReadFloat();
|
||||||
if ((flags & 32) != 0) data.shearX = input.ReadFloat();
|
if ((flags & 32) != 0) data.shearX = input.ReadFloat();
|
||||||
data.step = 1f / input.ReadByte();
|
data.step = 1f / input.ReadUByte();
|
||||||
data.inertia = input.ReadFloat();
|
data.inertia = input.ReadFloat();
|
||||||
data.strength = input.ReadFloat();
|
data.strength = input.ReadFloat();
|
||||||
data.damping = input.ReadFloat();
|
data.damping = input.ReadFloat();
|
||||||
@ -428,7 +428,7 @@ namespace Spine {
|
|||||||
String attachmentName, bool nonessential) {
|
String attachmentName, bool nonessential) {
|
||||||
float scale = this.scale;
|
float scale = this.scale;
|
||||||
|
|
||||||
int flags = input.ReadByte();
|
int flags = input.ReadUByte();
|
||||||
string name = (flags & 8) != 0 ? input.ReadStringRef() : attachmentName;
|
string name = (flags & 8) != 0 ? input.ReadStringRef() : attachmentName;
|
||||||
|
|
||||||
switch ((AttachmentType)(flags & 0x7)) { // 0b111
|
switch ((AttachmentType)(flags & 0x7)) { // 0b111
|
||||||
@ -658,7 +658,7 @@ namespace Spine {
|
|||||||
for (int i = 0, n = input.ReadInt(true); i < n; i++) {
|
for (int i = 0, n = input.ReadInt(true); i < n; i++) {
|
||||||
int slotIndex = input.ReadInt(true);
|
int slotIndex = input.ReadInt(true);
|
||||||
for (int ii = 0, nn = input.ReadInt(true); ii < nn; ii++) {
|
for (int ii = 0, nn = input.ReadInt(true); ii < nn; ii++) {
|
||||||
int timelineType = input.ReadByte(), frameCount = input.ReadInt(true), frameLast = frameCount - 1;
|
int timelineType = input.ReadUByte(), frameCount = input.ReadInt(true), frameLast = frameCount - 1;
|
||||||
switch (timelineType) {
|
switch (timelineType) {
|
||||||
case SLOT_ATTACHMENT: {
|
case SLOT_ATTACHMENT: {
|
||||||
AttachmentTimeline timeline = new AttachmentTimeline(frameCount, slotIndex);
|
AttachmentTimeline timeline = new AttachmentTimeline(frameCount, slotIndex);
|
||||||
@ -678,7 +678,7 @@ namespace Spine {
|
|||||||
float time2 = input.ReadFloat();
|
float time2 = input.ReadFloat();
|
||||||
float r2 = input.Read() / 255f, g2 = input.Read() / 255f;
|
float r2 = input.Read() / 255f, g2 = input.Read() / 255f;
|
||||||
float b2 = input.Read() / 255f, a2 = input.Read() / 255f;
|
float b2 = input.Read() / 255f, a2 = input.Read() / 255f;
|
||||||
switch (input.ReadByte()) {
|
switch (input.ReadUByte()) {
|
||||||
case CURVE_STEPPED:
|
case CURVE_STEPPED:
|
||||||
timeline.SetStepped(frame);
|
timeline.SetStepped(frame);
|
||||||
break;
|
break;
|
||||||
@ -707,7 +707,7 @@ namespace Spine {
|
|||||||
if (frame == frameLast) break;
|
if (frame == frameLast) break;
|
||||||
float time2 = input.ReadFloat();
|
float time2 = input.ReadFloat();
|
||||||
float r2 = input.Read() / 255f, g2 = input.Read() / 255f, b2 = input.Read() / 255f;
|
float r2 = input.Read() / 255f, g2 = input.Read() / 255f, b2 = input.Read() / 255f;
|
||||||
switch (input.ReadByte()) {
|
switch (input.ReadUByte()) {
|
||||||
case CURVE_STEPPED:
|
case CURVE_STEPPED:
|
||||||
timeline.SetStepped(frame);
|
timeline.SetStepped(frame);
|
||||||
break;
|
break;
|
||||||
@ -738,7 +738,7 @@ namespace Spine {
|
|||||||
float nr = input.Read() / 255f, ng = input.Read() / 255f;
|
float nr = input.Read() / 255f, ng = input.Read() / 255f;
|
||||||
float nb = input.Read() / 255f, na = input.Read() / 255f;
|
float nb = input.Read() / 255f, na = input.Read() / 255f;
|
||||||
float nr2 = input.Read() / 255f, ng2 = input.Read() / 255f, nb2 = input.Read() / 255f;
|
float nr2 = input.Read() / 255f, ng2 = input.Read() / 255f, nb2 = input.Read() / 255f;
|
||||||
switch (input.ReadByte()) {
|
switch (input.ReadUByte()) {
|
||||||
case CURVE_STEPPED:
|
case CURVE_STEPPED:
|
||||||
timeline.SetStepped(frame);
|
timeline.SetStepped(frame);
|
||||||
break;
|
break;
|
||||||
@ -775,7 +775,7 @@ namespace Spine {
|
|||||||
float time2 = input.ReadFloat();
|
float time2 = input.ReadFloat();
|
||||||
float nr = input.Read() / 255f, ng = input.Read() / 255f, nb = input.Read() / 255f;
|
float nr = input.Read() / 255f, ng = input.Read() / 255f, nb = input.Read() / 255f;
|
||||||
float nr2 = input.Read() / 255f, ng2 = input.Read() / 255f, nb2 = input.Read() / 255f;
|
float nr2 = input.Read() / 255f, ng2 = input.Read() / 255f, nb2 = input.Read() / 255f;
|
||||||
switch (input.ReadByte()) {
|
switch (input.ReadUByte()) {
|
||||||
case CURVE_STEPPED:
|
case CURVE_STEPPED:
|
||||||
timeline.SetStepped(frame);
|
timeline.SetStepped(frame);
|
||||||
break;
|
break;
|
||||||
@ -807,7 +807,7 @@ namespace Spine {
|
|||||||
if (frame == frameLast) break;
|
if (frame == frameLast) break;
|
||||||
float time2 = input.ReadFloat();
|
float time2 = input.ReadFloat();
|
||||||
float a2 = input.Read() / 255f;
|
float a2 = input.Read() / 255f;
|
||||||
switch (input.ReadByte()) {
|
switch (input.ReadUByte()) {
|
||||||
case CURVE_STEPPED:
|
case CURVE_STEPPED:
|
||||||
timeline.SetStepped(frame);
|
timeline.SetStepped(frame);
|
||||||
break;
|
break;
|
||||||
@ -829,7 +829,7 @@ namespace Spine {
|
|||||||
for (int i = 0, n = input.ReadInt(true); i < n; i++) {
|
for (int i = 0, n = input.ReadInt(true); i < n; i++) {
|
||||||
int boneIndex = input.ReadInt(true);
|
int boneIndex = input.ReadInt(true);
|
||||||
for (int ii = 0, nn = input.ReadInt(true); ii < nn; ii++) {
|
for (int ii = 0, nn = input.ReadInt(true); ii < nn; ii++) {
|
||||||
int type = input.ReadByte(), frameCount = input.ReadInt(true), bezierCount = input.ReadInt(true);
|
int type = input.ReadUByte(), frameCount = input.ReadInt(true), bezierCount = input.ReadInt(true);
|
||||||
switch (type) {
|
switch (type) {
|
||||||
case BONE_ROTATE:
|
case BONE_ROTATE:
|
||||||
ReadTimeline(input, timelines, new RotateTimeline(frameCount, bezierCount, boneIndex), 1);
|
ReadTimeline(input, timelines, new RotateTimeline(frameCount, bezierCount, boneIndex), 1);
|
||||||
@ -875,7 +875,7 @@ namespace Spine {
|
|||||||
timeline.SetFrame(frame, time, mix, softness, input.ReadSByte(), (flags & 1) != 0, (flags & 2) != 0);
|
timeline.SetFrame(frame, time, mix, softness, input.ReadSByte(), (flags & 1) != 0, (flags & 2) != 0);
|
||||||
if (frame == frameLast) break;
|
if (frame == frameLast) break;
|
||||||
float time2 = input.ReadFloat(), mix2 = input.ReadFloat(), softness2 = input.ReadFloat() * scale;
|
float time2 = input.ReadFloat(), mix2 = input.ReadFloat(), softness2 = input.ReadFloat() * scale;
|
||||||
switch (input.ReadByte()) {
|
switch (input.ReadUByte()) {
|
||||||
case CURVE_STEPPED:
|
case CURVE_STEPPED:
|
||||||
timeline.SetStepped(frame);
|
timeline.SetStepped(frame);
|
||||||
break;
|
break;
|
||||||
@ -902,7 +902,7 @@ namespace Spine {
|
|||||||
if (frame == frameLast) break;
|
if (frame == frameLast) break;
|
||||||
float time2 = input.ReadFloat(), mixRotate2 = input.ReadFloat(), mixX2 = input.ReadFloat(), mixY2 = input.ReadFloat(),
|
float time2 = input.ReadFloat(), mixRotate2 = input.ReadFloat(), mixX2 = input.ReadFloat(), mixY2 = input.ReadFloat(),
|
||||||
mixScaleX2 = input.ReadFloat(), mixScaleY2 = input.ReadFloat(), mixShearY2 = input.ReadFloat();
|
mixScaleX2 = input.ReadFloat(), mixScaleY2 = input.ReadFloat(), mixShearY2 = input.ReadFloat();
|
||||||
switch (input.ReadByte()) {
|
switch (input.ReadUByte()) {
|
||||||
case CURVE_STEPPED:
|
case CURVE_STEPPED:
|
||||||
timeline.SetStepped(frame);
|
timeline.SetStepped(frame);
|
||||||
break;
|
break;
|
||||||
@ -931,7 +931,7 @@ namespace Spine {
|
|||||||
int index = input.ReadInt(true);
|
int index = input.ReadInt(true);
|
||||||
PathConstraintData data = skeletonData.pathConstraints.Items[index];
|
PathConstraintData data = skeletonData.pathConstraints.Items[index];
|
||||||
for (int ii = 0, nn = input.ReadInt(true); ii < nn; ii++) {
|
for (int ii = 0, nn = input.ReadInt(true); ii < nn; ii++) {
|
||||||
int type = input.ReadByte(), frameCount = input.ReadInt(true), bezierCount = input.ReadInt(true);
|
int type = input.ReadUByte(), frameCount = input.ReadInt(true), bezierCount = input.ReadInt(true);
|
||||||
switch (type) {
|
switch (type) {
|
||||||
case PATH_POSITION:
|
case PATH_POSITION:
|
||||||
ReadTimeline(input, timelines, new PathConstraintPositionTimeline(frameCount, bezierCount, index),
|
ReadTimeline(input, timelines, new PathConstraintPositionTimeline(frameCount, bezierCount, index),
|
||||||
@ -949,7 +949,7 @@ namespace Spine {
|
|||||||
if (frame == frameLast) break;
|
if (frame == frameLast) break;
|
||||||
float time2 = input.ReadFloat(), mixRotate2 = input.ReadFloat(), mixX2 = input.ReadFloat(),
|
float time2 = input.ReadFloat(), mixRotate2 = input.ReadFloat(), mixX2 = input.ReadFloat(),
|
||||||
mixY2 = input.ReadFloat();
|
mixY2 = input.ReadFloat();
|
||||||
switch (input.ReadByte()) {
|
switch (input.ReadUByte()) {
|
||||||
case CURVE_STEPPED:
|
case CURVE_STEPPED:
|
||||||
timeline.SetStepped(frame);
|
timeline.SetStepped(frame);
|
||||||
break;
|
break;
|
||||||
@ -974,7 +974,7 @@ namespace Spine {
|
|||||||
for (int i = 0, n = input.ReadInt(true); i < n; i++) {
|
for (int i = 0, n = input.ReadInt(true); i < n; i++) {
|
||||||
int index = input.ReadInt(true) - 1;
|
int index = input.ReadInt(true) - 1;
|
||||||
for (int ii = 0, nn = input.ReadInt(true); ii < nn; ii++) {
|
for (int ii = 0, nn = input.ReadInt(true); ii < nn; ii++) {
|
||||||
int type = input.ReadByte(), frameCount = input.ReadInt(true);
|
int type = input.ReadUByte(), frameCount = input.ReadInt(true);
|
||||||
if (type == PHYSICS_RESET) {
|
if (type == PHYSICS_RESET) {
|
||||||
PhysicsConstraintResetTimeline timeline = new PhysicsConstraintResetTimeline(frameCount, index);
|
PhysicsConstraintResetTimeline timeline = new PhysicsConstraintResetTimeline(frameCount, index);
|
||||||
for (int frame = 0; frame < frameCount; frame++)
|
for (int frame = 0; frame < frameCount; frame++)
|
||||||
@ -1019,7 +1019,7 @@ namespace Spine {
|
|||||||
Attachment attachment = skin.GetAttachment(slotIndex, attachmentName);
|
Attachment attachment = skin.GetAttachment(slotIndex, attachmentName);
|
||||||
if (attachment == null) throw new SerializationException("Timeline attachment not found: " + attachmentName);
|
if (attachment == null) throw new SerializationException("Timeline attachment not found: " + attachmentName);
|
||||||
|
|
||||||
int timelineType = input.ReadByte(), frameCount = input.ReadInt(true), frameLast = frameCount - 1;
|
int timelineType = input.ReadUByte(), frameCount = input.ReadInt(true), frameLast = frameCount - 1;
|
||||||
switch (timelineType) {
|
switch (timelineType) {
|
||||||
case ATTACHMENT_DEFORM: {
|
case ATTACHMENT_DEFORM: {
|
||||||
VertexAttachment vertexAttachment = (VertexAttachment)attachment;
|
VertexAttachment vertexAttachment = (VertexAttachment)attachment;
|
||||||
@ -1054,7 +1054,7 @@ namespace Spine {
|
|||||||
timeline.SetFrame(frame, time, deform);
|
timeline.SetFrame(frame, time, deform);
|
||||||
if (frame == frameLast) break;
|
if (frame == frameLast) break;
|
||||||
float time2 = input.ReadFloat();
|
float time2 = input.ReadFloat();
|
||||||
switch (input.ReadByte()) {
|
switch (input.ReadUByte()) {
|
||||||
case CURVE_STEPPED:
|
case CURVE_STEPPED:
|
||||||
timeline.SetStepped(frame);
|
timeline.SetStepped(frame);
|
||||||
break;
|
break;
|
||||||
@ -1150,7 +1150,7 @@ namespace Spine {
|
|||||||
timeline.SetFrame(frame, time, value);
|
timeline.SetFrame(frame, time, value);
|
||||||
if (frame == frameLast) break;
|
if (frame == frameLast) break;
|
||||||
float time2 = input.ReadFloat(), value2 = input.ReadFloat() * scale;
|
float time2 = input.ReadFloat(), value2 = input.ReadFloat() * scale;
|
||||||
switch (input.ReadByte()) {
|
switch (input.ReadUByte()) {
|
||||||
case CURVE_STEPPED:
|
case CURVE_STEPPED:
|
||||||
timeline.SetStepped(frame);
|
timeline.SetStepped(frame);
|
||||||
break;
|
break;
|
||||||
@ -1171,7 +1171,7 @@ namespace Spine {
|
|||||||
timeline.SetFrame(frame, time, value1, value2);
|
timeline.SetFrame(frame, time, value1, value2);
|
||||||
if (frame == frameLast) break;
|
if (frame == frameLast) break;
|
||||||
float time2 = input.ReadFloat(), nvalue1 = input.ReadFloat() * scale, nvalue2 = input.ReadFloat() * scale;
|
float time2 = input.ReadFloat(), nvalue1 = input.ReadFloat() * scale, nvalue2 = input.ReadFloat() * scale;
|
||||||
switch (input.ReadByte()) {
|
switch (input.ReadUByte()) {
|
||||||
case CURVE_STEPPED:
|
case CURVE_STEPPED:
|
||||||
timeline.SetStepped(frame);
|
timeline.SetStepped(frame);
|
||||||
break;
|
break;
|
||||||
@ -1214,10 +1214,14 @@ namespace Spine {
|
|||||||
return input.ReadByte();
|
return input.ReadByte();
|
||||||
}
|
}
|
||||||
|
|
||||||
public byte ReadByte () {
|
/// <summary>Explicit unsigned byte variant to prevent pitfalls porting Java reference implementation
|
||||||
|
/// where byte is signed vs C# where byte is unsigned.</summary>
|
||||||
|
public byte ReadUByte () {
|
||||||
return (byte)input.ReadByte();
|
return (byte)input.ReadByte();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/// <summary>Explicit signed byte variant to prevent pitfalls porting Java reference implementation
|
||||||
|
/// where byte is signed vs C# where byte is unsigned.</summary>
|
||||||
public sbyte ReadSByte () {
|
public sbyte ReadSByte () {
|
||||||
int value = input.ReadByte();
|
int value = input.ReadByte();
|
||||||
if (value == -1) throw new EndOfStreamException();
|
if (value == -1) throw new EndOfStreamException();
|
||||||
|
|||||||
@ -2,7 +2,7 @@
|
|||||||
"name": "com.esotericsoftware.spine.spine-csharp",
|
"name": "com.esotericsoftware.spine.spine-csharp",
|
||||||
"displayName": "spine-csharp Runtime",
|
"displayName": "spine-csharp Runtime",
|
||||||
"description": "This plugin provides the spine-csharp core runtime.",
|
"description": "This plugin provides the spine-csharp core runtime.",
|
||||||
"version": "4.2.8",
|
"version": "4.2.9",
|
||||||
"unity": "2018.3",
|
"unity": "2018.3",
|
||||||
"author": {
|
"author": {
|
||||||
"name": "Esoteric Software",
|
"name": "Esoteric Software",
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user