Refactoring for non-Atlas RegionAttachments. Fixed whitespace stripped and rotated regions.

This commit is contained in:
NathanSweet 2013-04-24 16:54:13 +02:00
parent 4a4098ed45
commit 64a0a07373
49 changed files with 943 additions and 1126 deletions

View File

@ -43,14 +43,19 @@ typedef struct RegionAttachment RegionAttachment;
struct RegionAttachment { struct RegionAttachment {
Attachment super; Attachment super;
float x, y, scaleX, scaleY, rotation, width, height; float x, y, scaleX, scaleY, rotation, width, height;
AtlasRegion* region;
void* texture;
float regionOffsetX, regionOffsetY; // Unrotated pixels stripped from upper left.
float regionWidth, regionHeight; // Unrotated, stripped size.
float regionOriginalWidth, regionOriginalHeight; // Unrotated, unstripped size.
float offset[8]; float offset[8];
float vertices[8]; float vertices[8];
float uvs[8]; float uvs[8];
}; };
RegionAttachment* RegionAttachment_create (const char* name); RegionAttachment* RegionAttachment_create (const char* name);
void RegionAttachment_setUVs (RegionAttachment* self, float u, float v, float u2, float v2, int/*bool*/rotate);
void RegionAttachment_updateOffset (RegionAttachment* self); void RegionAttachment_updateOffset (RegionAttachment* self);
void RegionAttachment_updateVertices (RegionAttachment* self, Slot* slot); void RegionAttachment_updateVertices (RegionAttachment* self, Slot* slot);

View File

@ -44,6 +44,7 @@ void Animation_dispose (Animation* self) {
for (i = 0; i < self->timelineCount; ++i) for (i = 0; i < self->timelineCount; ++i)
Timeline_dispose(self->timelines[i]); Timeline_dispose(self->timelines[i]);
FREE(self->timelines); FREE(self->timelines);
FREE(self->name);
FREE(self); FREE(self);
} }

View File

@ -238,8 +238,13 @@ Atlas* Atlas_readAtlas (const char* begin, int length, const char* dir) {
region->u = region->x / (float)page->width; region->u = region->x / (float)page->width;
region->v = region->y / (float)page->height; region->v = region->y / (float)page->height;
region->u2 = (region->x + region->width) / (float)page->width; if (region->rotate) {
region->v2 = (region->y + region->height) / (float)page->height; region->u2 = (region->x + region->height) / (float)page->width;
region->v2 = (region->y + region->width) / (float)page->height;
} else {
region->u2 = (region->x + region->width) / (float)page->width;
region->v2 = (region->y + region->height) / (float)page->height;
}
int count; int count;
if (!(count = readTuple(end, tuple))) return abortAtlas(self); if (!(count = readTuple(end, tuple))) return abortAtlas(self);

View File

@ -40,7 +40,14 @@ Attachment* _AtlasAttachmentLoader_newAttachment (AttachmentLoader* loader, Skin
return 0; return 0;
} }
RegionAttachment* attachment = RegionAttachment_create(name); RegionAttachment* attachment = RegionAttachment_create(name);
attachment->region = region; attachment->texture = region->page->texture;
RegionAttachment_setUVs(attachment, region->u, region->v, region->u2, region->v2, region->rotate);
attachment->regionOffsetX = region->offsetX;
attachment->regionOffsetY = region->offsetY;
attachment->regionWidth = region->width;
attachment->regionHeight = region->height;
attachment->regionOriginalWidth = region->originalWidth;
attachment->regionOriginalHeight = region->originalHeight;
return SUPER(attachment); return SUPER(attachment);
} }
default: default:

View File

@ -39,26 +39,35 @@ RegionAttachment* RegionAttachment_create (const char* name) {
return self; return self;
} }
void RegionAttachment_updateOffset (RegionAttachment* self) { void RegionAttachment_setUVs (RegionAttachment* self, float u, float v, float u2, float v2, int/*bool*/rotate) {
float localX2 = self->width / 2; if (rotate) {
float localY2 = self->height / 2; self->uvs[VERTEX_X2] = u;
float localX = -localX2; self->uvs[VERTEX_Y2] = v2;
float localY = -localY2; self->uvs[VERTEX_X3] = u;
if (self->region->rotate) { self->uvs[VERTEX_Y3] = v;
localX += self->region->offsetX / self->region->originalWidth * self->height; self->uvs[VERTEX_X4] = u2;
localY += self->region->offsetY / self->region->originalHeight * self->width; self->uvs[VERTEX_Y4] = v;
localX2 -= (self->region->originalWidth - self->region->offsetX - self->region->height) / self->region->originalWidth * self->width; self->uvs[VERTEX_X1] = u2;
localY2 -= (self->region->originalHeight - self->region->offsetY - self->region->width) / self->region->originalHeight * self->height; self->uvs[VERTEX_Y1] = v2;
} else { } else {
localX += self->region->offsetX / self->region->originalWidth * self->width; self->uvs[VERTEX_X1] = u;
localY += self->region->offsetY / self->region->originalHeight * self->height; self->uvs[VERTEX_Y1] = v2;
localX2 -= (self->region->originalWidth - self->region->offsetX - self->region->width) / self->region->originalWidth * self->width; self->uvs[VERTEX_X2] = u;
localY2 -= (self->region->originalHeight - self->region->offsetY - self->region->height) / self->region->originalHeight * self->height; self->uvs[VERTEX_Y2] = v;
self->uvs[VERTEX_X3] = u2;
self->uvs[VERTEX_Y3] = v;
self->uvs[VERTEX_X4] = u2;
self->uvs[VERTEX_Y4] = v2;
} }
localX *= self->scaleX; }
localY *= self->scaleY;
localX2 *= self->scaleX; void RegionAttachment_updateOffset (RegionAttachment* self) {
localY2 *= self->scaleY; float regionScaleX = self->width / self->regionOriginalWidth * self->scaleX;
float regionScaleY = self->height / self->regionOriginalHeight * self->scaleX;
float localX = -self->width / 2 * self->scaleX + self->regionOffsetX * regionScaleX;
float localY = -self->height / 2 * self->scaleX + self->regionOffsetY * regionScaleY;
float localX2 = localX + self->regionWidth * regionScaleX;
float localY2 = localY + self->regionHeight * regionScaleY;
float radians = (float)(self->rotation * 3.1415926535897932385 / 180); float radians = (float)(self->rotation * 3.1415926535897932385 / 180);
float cosine = cosf(radians); float cosine = cosf(radians);
float sine = sinf(radians); float sine = sinf(radians);

View File

@ -83,25 +83,14 @@ void RegionAttachment_updateQuad (RegionAttachment* self, Slot* slot, ccV3F_C4B_
quad->br.vertices.x = self->vertices[VERTEX_X4]; quad->br.vertices.x = self->vertices[VERTEX_X4];
quad->br.vertices.y = self->vertices[VERTEX_Y4]; quad->br.vertices.y = self->vertices[VERTEX_Y4];
if (self->region->rotate) { quad->bl.texCoords.u = self->uvs[VERTEX_X1];
quad->tl.texCoords.u = self->region->u; quad->bl.texCoords.v = self->uvs[VERTEX_Y1];
quad->tl.texCoords.v = self->region->v2; quad->tl.texCoords.u = self->uvs[VERTEX_X2];
quad->tr.texCoords.u = self->region->u; quad->tl.texCoords.v = self->uvs[VERTEX_Y2];
quad->tr.texCoords.v = self->region->v; quad->tr.texCoords.u = self->uvs[VERTEX_X3];
quad->br.texCoords.u = self->region->u2; quad->tr.texCoords.v = self->uvs[VERTEX_Y3];
quad->br.texCoords.v = self->region->v; quad->br.texCoords.u = self->uvs[VERTEX_X4];
quad->bl.texCoords.u = self->region->u2; quad->br.texCoords.v = self->uvs[VERTEX_Y4];
quad->bl.texCoords.v = self->region->v2;
} else {
quad->bl.texCoords.u = self->region->u;
quad->bl.texCoords.v = self->region->v2;
quad->tl.texCoords.u = self->region->u;
quad->tl.texCoords.v = self->region->v;
quad->tr.texCoords.u = self->region->u2;
quad->tr.texCoords.v = self->region->v;
quad->br.texCoords.u = self->region->u2;
quad->br.texCoords.v = self->region->v2;
}
} }
#ifdef __cplusplus #ifdef __cplusplus
@ -205,7 +194,7 @@ void RegionAttachment_updateQuad (RegionAttachment* self, Slot* slot, ccV3F_C4B_
} }
- (void) update:(ccTime)deltaTime { - (void) update:(ccTime)deltaTime {
Skeleton_update(skeleton, deltaTime); Skeleton_update(skeleton, deltaTime * timeScale);
AnimationState_update(state, deltaTime * timeScale); AnimationState_update(state, deltaTime * timeScale);
AnimationState_apply(state, skeleton); AnimationState_apply(state, skeleton);
Skeleton_updateWorldTransform(skeleton); Skeleton_updateWorldTransform(skeleton);
@ -231,7 +220,7 @@ void RegionAttachment_updateQuad (RegionAttachment* self, Slot* slot, ccV3F_C4B_
Slot* slot = skeleton->slots[i]; Slot* slot = skeleton->slots[i];
if (!slot->attachment || slot->attachment->type != ATTACHMENT_REGION) continue; if (!slot->attachment || slot->attachment->type != ATTACHMENT_REGION) continue;
RegionAttachment* attachment = (RegionAttachment*)slot->attachment; RegionAttachment* attachment = (RegionAttachment*)slot->attachment;
CCTextureAtlas* regionTextureAtlas = (CCTextureAtlas*)attachment->region->page->texture; CCTextureAtlas* regionTextureAtlas = (CCTextureAtlas*)attachment->texture;
if (regionTextureAtlas != textureAtlas) { if (regionTextureAtlas != textureAtlas) {
if (textureAtlas) { if (textureAtlas) {
[textureAtlas drawQuads]; [textureAtlas drawQuads];

View File

@ -3,26 +3,26 @@
{ "name": "root" }, { "name": "root" },
{ "name": "hip", "parent": "root", "x": 0.64, "y": 114.41 }, { "name": "hip", "parent": "root", "x": 0.64, "y": 114.41 },
{ "name": "left upper leg", "parent": "hip", "length": 50.39, "x": 14.45, "y": 2.81, "rotation": -89.09 }, { "name": "left upper leg", "parent": "hip", "length": 50.39, "x": 14.45, "y": 2.81, "rotation": -89.09 },
{ "name": "left lower leg", "parent": "left upper leg", "length": 49.89, "x": 56.34, "y": 0.98, "rotation": -16.65 }, { "name": "pelvis", "parent": "hip", "x": 1.41, "y": -6.57 },
{ "name": "left foot", "parent": "left lower leg", "length": 46.5, "x": 58.94, "y": -7.61, "rotation": 102.43 },
{ "name": "right upper leg", "parent": "hip", "length": 42.45, "x": -20.07, "y": -6.83, "rotation": -97.49 }, { "name": "right upper leg", "parent": "hip", "length": 42.45, "x": -20.07, "y": -6.83, "rotation": -97.49 },
{ "name": "right lower leg", "parent": "right upper leg", "length": 58.52, "x": 42.99, "y": -0.61, "rotation": -14.34 },
{ "name": "right foot", "parent": "right lower leg", "length": 45.45, "x": 64.88, "y": 0.04, "rotation": 110.3 },
{ "name": "torso", "parent": "hip", "length": 85.82, "x": -6.42, "y": 1.97, "rotation": 93.92 }, { "name": "torso", "parent": "hip", "length": 85.82, "x": -6.42, "y": 1.97, "rotation": 93.92 },
{ "name": "neck", "parent": "torso", "length": 18.38, "x": 81.67, "y": -6.34, "rotation": -1.51 }, { "name": "left lower leg", "parent": "left upper leg", "length": 49.89, "x": 56.34, "y": 0.98, "rotation": -16.65 },
{ "name": "head", "parent": "neck", "length": 68.28, "x": 20.93, "y": 11.59, "rotation": -13.92 },
{ "name": "right shoulder", "parent": "torso", "length": 37.24, "x": 76.02, "y": 18.14, "rotation": 133.88 },
{ "name": "right arm", "parent": "right shoulder", "length": 36.74, "x": 37.6, "y": 0.31, "rotation": 36.32 },
{ "name": "right hand", "parent": "right arm", "length": 15.32, "x": 36.9, "y": 0.34, "rotation": 2.35 },
{ "name": "left shoulder", "parent": "torso", "length": 35.43, "x": 74.04, "y": -20.38, "rotation": -156.96 }, { "name": "left shoulder", "parent": "torso", "length": 35.43, "x": 74.04, "y": -20.38, "rotation": -156.96 },
{ "name": "neck", "parent": "torso", "length": 18.38, "x": 81.67, "y": -6.34, "rotation": -1.51 },
{ "name": "right lower leg", "parent": "right upper leg", "length": 58.52, "x": 42.99, "y": -0.61, "rotation": -14.34 },
{ "name": "right shoulder", "parent": "torso", "length": 37.24, "x": 76.02, "y": 18.14, "rotation": 133.88 },
{ "name": "head", "parent": "neck", "length": 68.28, "x": 20.93, "y": 11.59, "rotation": -13.92 },
{ "name": "left arm", "parent": "left shoulder", "length": 35.62, "x": 37.85, "y": -2.34, "rotation": 28.16 }, { "name": "left arm", "parent": "left shoulder", "length": 35.62, "x": 37.85, "y": -2.34, "rotation": 28.16 },
{ "name": "left foot", "parent": "left lower leg", "length": 46.5, "x": 58.94, "y": -7.61, "rotation": 102.43 },
{ "name": "right arm", "parent": "right shoulder", "length": 36.74, "x": 37.6, "y": 0.31, "rotation": 36.32 },
{ "name": "right foot", "parent": "right lower leg", "length": 45.45, "x": 64.88, "y": 0.04, "rotation": 110.3 },
{ "name": "left hand", "parent": "left arm", "length": 11.52, "x": 35.62, "y": 0.07, "rotation": 2.7 }, { "name": "left hand", "parent": "left arm", "length": 11.52, "x": 35.62, "y": 0.07, "rotation": 2.7 },
{ "name": "pelvis", "parent": "hip", "x": 1.41, "y": -6.57 } { "name": "right hand", "parent": "right arm", "length": 15.32, "x": 36.9, "y": 0.34, "rotation": 2.35 }
], ],
"slots": [ "slots": [
{ "name": "left shoulder", "bone": "left shoulder", "attachment": "left shoulder" }, { "name": "left shoulder", "bone": "left shoulder", "attachment": "left shoulder" },
{ "name": "left arm", "bone": "left arm", "attachment": "left arm" }, { "name": "left arm", "bone": "left arm", "attachment": "left arm" },
{ "name": "left hand item", "bone": "left hand", "attachment": "spear" }, { "name": "left hand item", "bone": "left hand", "attachment": "dagger" },
{ "name": "left hand", "bone": "left hand", "attachment": "left hand" }, { "name": "left hand", "bone": "left hand", "attachment": "left hand" },
{ "name": "left foot", "bone": "left foot", "attachment": "left foot" }, { "name": "left foot", "bone": "left foot", "attachment": "left foot" },
{ "name": "left lower leg", "bone": "left lower leg", "attachment": "left lower leg" }, { "name": "left lower leg", "bone": "left lower leg", "attachment": "left lower leg" },
@ -45,11 +45,11 @@
"skins": { "skins": {
"default": { "default": {
"left hand item": { "left hand item": {
"dagger": { "x": 7.88, "y": -23.45, "rotation": 10.47, "width": 26, "height": 108 }, "dagger": { "x": -35.5, "y": 3.85, "rotation": 10.47, "width": 156, "height": 238 },
"spear": { "x": -4.55, "y": 39.2, "rotation": 13.04, "width": 22, "height": 368 } "spear": { "x": -4.55, "y": 39.2, "rotation": 13.04, "width": 22, "height": 368 }
}, },
"right hand item": { "right hand item": {
"dagger": { "x": 6.51, "y": -24.15, "rotation": -8.06, "width": 26, "height": 108 } "dagger": { "x": -21.57, "y": 15.8, "rotation": -8.06, "width": 156, "height": 238 }
} }
}, },
"goblin": { "goblin": {

View File

@ -4,282 +4,282 @@ format: RGBA8888
filter: Linear,Linear filter: Linear,Linear
repeat: none repeat: none
spear spear
rotate: false rotate: true
xy: 2, 142 xy: 2, 104
size: 22, 368 size: 22, 368
orig: 22, 368 orig: 22, 368
offset: 0, 0 offset: 0, 0
index: -1 index: -1
goblingirl/head goblingirl/head
rotate: false rotate: false
xy: 26, 429 xy: 2, 23
size: 103, 81 size: 103, 79
orig: 103, 81 orig: 103, 81
offset: 0, 0 offset: 0, 2
index: -1 index: -1
goblin/head goblin/head
rotate: false rotate: false
xy: 26, 361 xy: 107, 38
size: 103, 66 size: 103, 64
orig: 103, 66 orig: 103, 66
offset: 0, 0 offset: 0, 0
index: -1 index: -1
goblin/torso goblin/torso
rotate: false rotate: true
xy: 131, 414 xy: 212, 34
size: 68, 96 size: 68, 96
orig: 68, 96 orig: 68, 96
offset: 0, 0 offset: 0, 0
index: -1 index: -1
goblingirl/torso goblin/right-upper-leg
rotate: true
xy: 107, 2
size: 34, 63
orig: 34, 63
offset: 0, 0
index: -1
goblin/left-lower-leg
rotate: true
xy: 172, 2
size: 30, 70
orig: 33, 70
offset: 2, 0
index: -1
goblingirl/left-lower-leg
rotate: true
xy: 244, 2
size: 30, 70
orig: 33, 70
offset: 2, 0
index: -1
goblin/undie-straps
rotate: false rotate: false
xy: 26, 263 xy: 2, 2
size: 68, 96 size: 55, 19
orig: 68, 96 orig: 55, 19
offset: 0, 0 offset: 0, 0
index: -1 index: -1
dagger dagger
rotate: false rotate: true
xy: 26, 153 xy: 372, 100
size: 26, 108 size: 26, 108
orig: 26, 108 orig: 156, 238
offset: 100, 30
index: -1
goblingirl/torso
rotate: true
xy: 482, 60
size: 66, 96
orig: 68, 96
offset: 0, 0 offset: 0, 0
index: -1 index: -1
goblin/right-lower-leg goblin/right-lower-leg
rotate: false rotate: true
xy: 201, 434 xy: 580, 91
size: 36, 76 size: 35, 76
orig: 36, 76 orig: 36, 76
offset: 0, 0 offset: 1, 0
index: -1 index: -1
goblingirl/right-lower-leg goblingirl/right-lower-leg
rotate: false rotate: true
xy: 54, 185 xy: 658, 91
size: 36, 76 size: 35, 76
orig: 36, 76 orig: 36, 76
offset: 0, 0 offset: 1, 0
index: -1 index: -1
goblin/left-upper-leg goblin/left-upper-leg
rotate: false rotate: true
xy: 96, 286 xy: 736, 93
size: 33, 73 size: 33, 73
orig: 33, 73 orig: 33, 73
offset: 0, 0 offset: 0, 0
index: -1 index: -1
goblin/pelvis goblin/pelvis
rotate: false rotate: true
xy: 131, 369 xy: 310, 40
size: 62, 43 size: 62, 43
orig: 62, 43 orig: 62, 43
offset: 0, 0 offset: 0, 0
index: -1 index: -1
goblingirl/pelvis goblin/left-hand
rotate: false rotate: true
xy: 131, 324 xy: 316, 2
size: 62, 43 size: 36, 41
orig: 62, 43 orig: 36, 41
offset: 0, 0
index: -1
goblin/right-foot
rotate: false
xy: 131, 289
size: 63, 33
orig: 63, 33
offset: 0, 0
index: -1
goblin/left-lower-leg
rotate: false
xy: 2, 70
size: 33, 70
orig: 33, 70
offset: 0, 0
index: -1
goblin/right-upper-leg
rotate: false
xy: 2, 5
size: 34, 63
orig: 34, 63
offset: 0, 0
index: -1
goblingirl/left-lower-leg
rotate: false
xy: 195, 342
size: 33, 70
orig: 33, 70
offset: 0, 0 offset: 0, 0
index: -1 index: -1
goblingirl/left-upper-leg goblingirl/left-upper-leg
rotate: false rotate: true
xy: 37, 81 xy: 811, 93
size: 33, 70 size: 33, 70
orig: 33, 70 orig: 33, 70
offset: 0, 0 offset: 0, 0
index: -1 index: -1
goblingirl/right-upper-leg
rotate: false
xy: 38, 16
size: 34, 63
orig: 34, 63
offset: 0, 0
index: -1
goblin/eyes-closed
rotate: false
xy: 38, 2
size: 34, 12
orig: 34, 12
offset: 0, 0
index: -1
goblin/undies
rotate: false
xy: 54, 154
size: 36, 29
orig: 36, 29
offset: 0, 0
index: -1
goblin/right-arm
rotate: false
xy: 72, 102
size: 23, 50
orig: 23, 50
offset: 0, 0
index: -1
goblin/left-foot goblin/left-foot
rotate: false rotate: false
xy: 131, 256 xy: 883, 95
size: 65, 31 size: 65, 31
orig: 65, 31 orig: 65, 31
offset: 0, 0 offset: 0, 0
index: -1 index: -1
goblingirl/right-arm
rotate: false
xy: 196, 290
size: 28, 50
orig: 28, 50
offset: 0, 0
index: -1
goblingirl/left-shoulder
rotate: false
xy: 226, 294
size: 28, 46
orig: 28, 46
offset: 0, 0
index: -1
goblin/left-arm
rotate: false
xy: 198, 253
size: 37, 35
orig: 37, 35
offset: 0, 0
index: -1
goblingirl/left-foot goblingirl/left-foot
rotate: false rotate: false
xy: 92, 223 xy: 950, 95
size: 65, 31 size: 65, 31
orig: 65, 31 orig: 65, 31
offset: 0, 0 offset: 0, 0
index: -1 index: -1
goblingirl/right-foot goblin/right-foot
rotate: false rotate: false
xy: 92, 188 xy: 580, 56
size: 63, 33 size: 63, 33
orig: 63, 33 orig: 63, 33
offset: 0, 0 offset: 0, 0
index: -1 index: -1
goblin/undie-straps goblingirl/right-foot
rotate: false rotate: false
xy: 92, 167 xy: 645, 56
size: 55, 19 size: 63, 33
orig: 55, 19 orig: 63, 33
offset: 0, 0 offset: 0, 0
index: -1 index: -1
goblingirl/left-arm goblingirl/pelvis
rotate: false rotate: false
xy: 159, 219 xy: 355, 55
size: 37, 35 size: 59, 43
orig: 37, 35 orig: 62, 43
offset: 1, 0
index: -1
goblingirl/right-upper-leg
rotate: true
xy: 416, 64
size: 34, 63
orig: 34, 63
offset: 0, 0 offset: 0, 0
index: -1 index: -1
goblin/right-shoulder goblin/right-shoulder
rotate: false rotate: false
xy: 97, 120 xy: 359, 11
size: 39, 45 size: 39, 42
orig: 39, 45 orig: 39, 45
offset: 0, 0 offset: 0, 0
index: -1 index: -1
goblingirl/right-shoulder
rotate: false
xy: 198, 206
size: 39, 45
orig: 39, 45
offset: 0, 0
index: -1
goblin/left-hand
rotate: false
xy: 157, 176
size: 36, 41
orig: 36, 41
offset: 0, 0
index: -1
goblin/neck
rotate: false
xy: 195, 163
size: 36, 41
orig: 36, 41
offset: 0, 0
index: -1
goblingirl/undie-straps goblingirl/undie-straps
rotate: false rotate: false
xy: 97, 99 xy: 416, 43
size: 55, 19 size: 55, 19
orig: 55, 19 orig: 55, 19
offset: 0, 0 offset: 0, 0
index: -1 index: -1
goblingirl/neck goblingirl/right-shoulder
rotate: true
xy: 400, 2
size: 39, 42
orig: 39, 45
offset: 0, 0
index: -1
goblin/left-arm
rotate: true
xy: 444, 4
size: 37, 35
orig: 37, 35
offset: 0, 0
index: -1
goblin/neck
rotate: false rotate: false
xy: 138, 120 xy: 481, 17
size: 35, 41 size: 36, 41
orig: 35, 41 orig: 36, 41
offset: 0, 0 offset: 0, 0
index: -1 index: -1
goblingirl/left-hand goblingirl/left-hand
rotate: false rotate: false
xy: 175, 121 xy: 519, 18
size: 35, 40 size: 35, 40
orig: 35, 40 orig: 35, 40
offset: 0, 0 offset: 0, 0
index: -1 index: -1
goblin/left-shoulder goblingirl/right-arm
rotate: false rotate: false
xy: 212, 117 xy: 556, 8
size: 22, 50
orig: 28, 50
offset: 3, 0
index: -1
goblingirl/neck
rotate: false
xy: 580, 13
size: 33, 41
orig: 35, 41
offset: 0, 0
index: -1
goblin/left-shoulder
rotate: true
xy: 615, 25
size: 29, 44 size: 29, 44
orig: 29, 44 orig: 29, 44
offset: 0, 0 offset: 0, 0
index: -1 index: -1
goblingirl/eyes-closed goblingirl/left-shoulder
rotate: true
xy: 661, 26
size: 28, 45
orig: 28, 46
offset: 0, 1
index: -1
goblingirl/left-arm
rotate: false rotate: false
xy: 154, 97 xy: 710, 54
size: 37, 21 size: 37, 35
orig: 37, 21 orig: 37, 35
offset: 0, 0
index: -1
goblin/right-arm
rotate: false
xy: 708, 2
size: 23, 50
orig: 23, 50
offset: 0, 0 offset: 0, 0
index: -1 index: -1
goblin/right-hand goblin/right-hand
rotate: false rotate: false
xy: 193, 78 xy: 749, 54
size: 36, 37 size: 36, 37
orig: 36, 37 orig: 36, 37
offset: 0, 0 offset: 0, 0
index: -1 index: -1
goblingirl/right-hand goblingirl/right-hand
rotate: false rotate: false
xy: 74, 39 xy: 733, 15
size: 36, 37 size: 35, 37
orig: 36, 37 orig: 36, 37
offset: 0, 0 offset: 1, 0
index: -1 index: -1
goblingirl/undies goblin/undies
rotate: false rotate: false
xy: 74, 8 xy: 787, 62
size: 36, 29 size: 36, 29
orig: 36, 29 orig: 36, 29
offset: 0, 0 offset: 0, 0
index: -1 index: -1
goblingirl/undies
rotate: false
xy: 825, 62
size: 36, 29
orig: 36, 29
offset: 0, 0
index: -1
goblingirl/eyes-closed
rotate: false
xy: 59, 6
size: 37, 15
orig: 37, 21
offset: 0, 0
index: -1
goblin/eyes-closed
rotate: true
xy: 770, 18
size: 34, 12
orig: 34, 12
offset: 0, 0
index: -1

Binary file not shown.

Before

Width:  |  Height:  |  Size: 145 KiB

After

Width:  |  Height:  |  Size: 144 KiB

View File

@ -4,282 +4,282 @@ format: RGBA8888
filter: Linear,Linear filter: Linear,Linear
repeat: none repeat: none
spear spear
rotate: false rotate: true
xy: 2, 142 xy: 2, 104
size: 22, 368 size: 22, 368
orig: 22, 368 orig: 22, 368
offset: 0, 0 offset: 0, 0
index: -1 index: -1
goblingirl/head goblingirl/head
rotate: false rotate: false
xy: 26, 429 xy: 2, 23
size: 103, 81 size: 103, 79
orig: 103, 81 orig: 103, 81
offset: 0, 0 offset: 0, 2
index: -1 index: -1
goblin/head goblin/head
rotate: false rotate: false
xy: 26, 361 xy: 107, 38
size: 103, 66 size: 103, 64
orig: 103, 66 orig: 103, 66
offset: 0, 0 offset: 0, 0
index: -1 index: -1
goblin/torso goblin/torso
rotate: false rotate: true
xy: 131, 414 xy: 212, 34
size: 68, 96 size: 68, 96
orig: 68, 96 orig: 68, 96
offset: 0, 0 offset: 0, 0
index: -1 index: -1
goblingirl/torso goblin/right-upper-leg
rotate: true
xy: 107, 2
size: 34, 63
orig: 34, 63
offset: 0, 0
index: -1
goblin/left-lower-leg
rotate: true
xy: 172, 2
size: 30, 70
orig: 33, 70
offset: 2, 0
index: -1
goblingirl/left-lower-leg
rotate: true
xy: 244, 2
size: 30, 70
orig: 33, 70
offset: 2, 0
index: -1
goblin/undie-straps
rotate: false rotate: false
xy: 26, 263 xy: 2, 2
size: 68, 96 size: 55, 19
orig: 68, 96 orig: 55, 19
offset: 0, 0 offset: 0, 0
index: -1 index: -1
dagger dagger
rotate: false rotate: true
xy: 26, 153 xy: 372, 100
size: 26, 108 size: 26, 108
orig: 26, 108 orig: 156, 238
offset: 100, 30
index: -1
goblingirl/torso
rotate: true
xy: 482, 60
size: 66, 96
orig: 68, 96
offset: 0, 0 offset: 0, 0
index: -1 index: -1
goblin/right-lower-leg goblin/right-lower-leg
rotate: false rotate: true
xy: 201, 434 xy: 580, 91
size: 36, 76 size: 35, 76
orig: 36, 76 orig: 36, 76
offset: 0, 0 offset: 1, 0
index: -1 index: -1
goblingirl/right-lower-leg goblingirl/right-lower-leg
rotate: false rotate: true
xy: 54, 185 xy: 658, 91
size: 36, 76 size: 35, 76
orig: 36, 76 orig: 36, 76
offset: 0, 0 offset: 1, 0
index: -1 index: -1
goblin/left-upper-leg goblin/left-upper-leg
rotate: false rotate: true
xy: 96, 286 xy: 736, 93
size: 33, 73 size: 33, 73
orig: 33, 73 orig: 33, 73
offset: 0, 0 offset: 0, 0
index: -1 index: -1
goblin/pelvis goblin/pelvis
rotate: false rotate: true
xy: 131, 369 xy: 310, 40
size: 62, 43 size: 62, 43
orig: 62, 43 orig: 62, 43
offset: 0, 0 offset: 0, 0
index: -1 index: -1
goblingirl/pelvis goblin/left-hand
rotate: false rotate: true
xy: 131, 324 xy: 316, 2
size: 62, 43 size: 36, 41
orig: 62, 43 orig: 36, 41
offset: 0, 0
index: -1
goblin/right-foot
rotate: false
xy: 131, 289
size: 63, 33
orig: 63, 33
offset: 0, 0
index: -1
goblin/left-lower-leg
rotate: false
xy: 2, 70
size: 33, 70
orig: 33, 70
offset: 0, 0
index: -1
goblin/right-upper-leg
rotate: false
xy: 2, 5
size: 34, 63
orig: 34, 63
offset: 0, 0
index: -1
goblingirl/left-lower-leg
rotate: false
xy: 195, 342
size: 33, 70
orig: 33, 70
offset: 0, 0 offset: 0, 0
index: -1 index: -1
goblingirl/left-upper-leg goblingirl/left-upper-leg
rotate: false rotate: true
xy: 37, 81 xy: 811, 93
size: 33, 70 size: 33, 70
orig: 33, 70 orig: 33, 70
offset: 0, 0 offset: 0, 0
index: -1 index: -1
goblingirl/right-upper-leg
rotate: false
xy: 38, 16
size: 34, 63
orig: 34, 63
offset: 0, 0
index: -1
goblin/eyes-closed
rotate: false
xy: 38, 2
size: 34, 12
orig: 34, 12
offset: 0, 0
index: -1
goblin/undies
rotate: false
xy: 54, 154
size: 36, 29
orig: 36, 29
offset: 0, 0
index: -1
goblin/right-arm
rotate: false
xy: 72, 102
size: 23, 50
orig: 23, 50
offset: 0, 0
index: -1
goblin/left-foot goblin/left-foot
rotate: false rotate: false
xy: 131, 256 xy: 883, 95
size: 65, 31 size: 65, 31
orig: 65, 31 orig: 65, 31
offset: 0, 0 offset: 0, 0
index: -1 index: -1
goblingirl/right-arm
rotate: false
xy: 196, 290
size: 28, 50
orig: 28, 50
offset: 0, 0
index: -1
goblingirl/left-shoulder
rotate: false
xy: 226, 294
size: 28, 46
orig: 28, 46
offset: 0, 0
index: -1
goblin/left-arm
rotate: false
xy: 198, 253
size: 37, 35
orig: 37, 35
offset: 0, 0
index: -1
goblingirl/left-foot goblingirl/left-foot
rotate: false rotate: false
xy: 92, 223 xy: 950, 95
size: 65, 31 size: 65, 31
orig: 65, 31 orig: 65, 31
offset: 0, 0 offset: 0, 0
index: -1 index: -1
goblingirl/right-foot goblin/right-foot
rotate: false rotate: false
xy: 92, 188 xy: 580, 56
size: 63, 33 size: 63, 33
orig: 63, 33 orig: 63, 33
offset: 0, 0 offset: 0, 0
index: -1 index: -1
goblin/undie-straps goblingirl/right-foot
rotate: false rotate: false
xy: 92, 167 xy: 645, 56
size: 55, 19 size: 63, 33
orig: 55, 19 orig: 63, 33
offset: 0, 0 offset: 0, 0
index: -1 index: -1
goblingirl/left-arm goblingirl/pelvis
rotate: false rotate: false
xy: 159, 219 xy: 355, 55
size: 37, 35 size: 59, 43
orig: 37, 35 orig: 62, 43
offset: 1, 0
index: -1
goblingirl/right-upper-leg
rotate: true
xy: 416, 64
size: 34, 63
orig: 34, 63
offset: 0, 0 offset: 0, 0
index: -1 index: -1
goblin/right-shoulder goblin/right-shoulder
rotate: false rotate: false
xy: 97, 120 xy: 359, 11
size: 39, 45 size: 39, 42
orig: 39, 45 orig: 39, 45
offset: 0, 0 offset: 0, 0
index: -1 index: -1
goblingirl/right-shoulder
rotate: false
xy: 198, 206
size: 39, 45
orig: 39, 45
offset: 0, 0
index: -1
goblin/left-hand
rotate: false
xy: 157, 176
size: 36, 41
orig: 36, 41
offset: 0, 0
index: -1
goblin/neck
rotate: false
xy: 195, 163
size: 36, 41
orig: 36, 41
offset: 0, 0
index: -1
goblingirl/undie-straps goblingirl/undie-straps
rotate: false rotate: false
xy: 97, 99 xy: 416, 43
size: 55, 19 size: 55, 19
orig: 55, 19 orig: 55, 19
offset: 0, 0 offset: 0, 0
index: -1 index: -1
goblingirl/neck goblingirl/right-shoulder
rotate: true
xy: 400, 2
size: 39, 42
orig: 39, 45
offset: 0, 0
index: -1
goblin/left-arm
rotate: true
xy: 444, 4
size: 37, 35
orig: 37, 35
offset: 0, 0
index: -1
goblin/neck
rotate: false rotate: false
xy: 138, 120 xy: 481, 17
size: 35, 41 size: 36, 41
orig: 35, 41 orig: 36, 41
offset: 0, 0 offset: 0, 0
index: -1 index: -1
goblingirl/left-hand goblingirl/left-hand
rotate: false rotate: false
xy: 175, 121 xy: 519, 18
size: 35, 40 size: 35, 40
orig: 35, 40 orig: 35, 40
offset: 0, 0 offset: 0, 0
index: -1 index: -1
goblin/left-shoulder goblingirl/right-arm
rotate: false rotate: false
xy: 212, 117 xy: 556, 8
size: 22, 50
orig: 28, 50
offset: 3, 0
index: -1
goblingirl/neck
rotate: false
xy: 580, 13
size: 33, 41
orig: 35, 41
offset: 0, 0
index: -1
goblin/left-shoulder
rotate: true
xy: 615, 25
size: 29, 44 size: 29, 44
orig: 29, 44 orig: 29, 44
offset: 0, 0 offset: 0, 0
index: -1 index: -1
goblingirl/eyes-closed goblingirl/left-shoulder
rotate: true
xy: 661, 26
size: 28, 45
orig: 28, 46
offset: 0, 1
index: -1
goblingirl/left-arm
rotate: false rotate: false
xy: 154, 97 xy: 710, 54
size: 37, 21 size: 37, 35
orig: 37, 21 orig: 37, 35
offset: 0, 0
index: -1
goblin/right-arm
rotate: false
xy: 708, 2
size: 23, 50
orig: 23, 50
offset: 0, 0 offset: 0, 0
index: -1 index: -1
goblin/right-hand goblin/right-hand
rotate: false rotate: false
xy: 193, 78 xy: 749, 54
size: 36, 37 size: 36, 37
orig: 36, 37 orig: 36, 37
offset: 0, 0 offset: 0, 0
index: -1 index: -1
goblingirl/right-hand goblingirl/right-hand
rotate: false rotate: false
xy: 74, 39 xy: 733, 15
size: 36, 37 size: 35, 37
orig: 36, 37 orig: 36, 37
offset: 0, 0 offset: 1, 0
index: -1 index: -1
goblingirl/undies goblin/undies
rotate: false rotate: false
xy: 74, 8 xy: 787, 62
size: 36, 29 size: 36, 29
orig: 36, 29 orig: 36, 29
offset: 0, 0 offset: 0, 0
index: -1 index: -1
goblingirl/undies
rotate: false
xy: 825, 62
size: 36, 29
orig: 36, 29
offset: 0, 0
index: -1
goblingirl/eyes-closed
rotate: false
xy: 59, 6
size: 37, 15
orig: 37, 21
offset: 0, 0
index: -1
goblin/eyes-closed
rotate: true
xy: 770, 18
size: 34, 12
orig: 34, 12
offset: 0, 0
index: -1

Binary file not shown.

Before

Width:  |  Height:  |  Size: 145 KiB

After

Width:  |  Height:  |  Size: 144 KiB

View File

@ -4,282 +4,282 @@ format: RGBA8888
filter: Linear,Linear filter: Linear,Linear
repeat: none repeat: none
spear spear
rotate: false rotate: true
xy: 2, 142 xy: 2, 104
size: 22, 368 size: 22, 368
orig: 22, 368 orig: 22, 368
offset: 0, 0 offset: 0, 0
index: -1 index: -1
goblingirl/head goblingirl/head
rotate: false rotate: false
xy: 26, 429 xy: 2, 23
size: 103, 81 size: 103, 79
orig: 103, 81 orig: 103, 81
offset: 0, 0 offset: 0, 2
index: -1 index: -1
goblin/head goblin/head
rotate: false rotate: false
xy: 26, 361 xy: 107, 38
size: 103, 66 size: 103, 64
orig: 103, 66 orig: 103, 66
offset: 0, 0 offset: 0, 0
index: -1 index: -1
goblin/torso goblin/torso
rotate: false rotate: true
xy: 131, 414 xy: 212, 34
size: 68, 96 size: 68, 96
orig: 68, 96 orig: 68, 96
offset: 0, 0 offset: 0, 0
index: -1 index: -1
goblingirl/torso goblin/right-upper-leg
rotate: true
xy: 107, 2
size: 34, 63
orig: 34, 63
offset: 0, 0
index: -1
goblin/left-lower-leg
rotate: true
xy: 172, 2
size: 30, 70
orig: 33, 70
offset: 2, 0
index: -1
goblingirl/left-lower-leg
rotate: true
xy: 244, 2
size: 30, 70
orig: 33, 70
offset: 2, 0
index: -1
goblin/undie-straps
rotate: false rotate: false
xy: 26, 263 xy: 2, 2
size: 68, 96 size: 55, 19
orig: 68, 96 orig: 55, 19
offset: 0, 0 offset: 0, 0
index: -1 index: -1
dagger dagger
rotate: false rotate: true
xy: 26, 153 xy: 372, 100
size: 26, 108 size: 26, 108
orig: 26, 108 orig: 156, 238
offset: 100, 30
index: -1
goblingirl/torso
rotate: true
xy: 482, 60
size: 66, 96
orig: 68, 96
offset: 0, 0 offset: 0, 0
index: -1 index: -1
goblin/right-lower-leg goblin/right-lower-leg
rotate: false rotate: true
xy: 201, 434 xy: 580, 91
size: 36, 76 size: 35, 76
orig: 36, 76 orig: 36, 76
offset: 0, 0 offset: 1, 0
index: -1 index: -1
goblingirl/right-lower-leg goblingirl/right-lower-leg
rotate: false rotate: true
xy: 54, 185 xy: 658, 91
size: 36, 76 size: 35, 76
orig: 36, 76 orig: 36, 76
offset: 0, 0 offset: 1, 0
index: -1 index: -1
goblin/left-upper-leg goblin/left-upper-leg
rotate: false rotate: true
xy: 96, 286 xy: 736, 93
size: 33, 73 size: 33, 73
orig: 33, 73 orig: 33, 73
offset: 0, 0 offset: 0, 0
index: -1 index: -1
goblin/pelvis goblin/pelvis
rotate: false rotate: true
xy: 131, 369 xy: 310, 40
size: 62, 43 size: 62, 43
orig: 62, 43 orig: 62, 43
offset: 0, 0 offset: 0, 0
index: -1 index: -1
goblingirl/pelvis goblin/left-hand
rotate: false rotate: true
xy: 131, 324 xy: 316, 2
size: 62, 43 size: 36, 41
orig: 62, 43 orig: 36, 41
offset: 0, 0
index: -1
goblin/right-foot
rotate: false
xy: 131, 289
size: 63, 33
orig: 63, 33
offset: 0, 0
index: -1
goblin/left-lower-leg
rotate: false
xy: 2, 70
size: 33, 70
orig: 33, 70
offset: 0, 0
index: -1
goblin/right-upper-leg
rotate: false
xy: 2, 5
size: 34, 63
orig: 34, 63
offset: 0, 0
index: -1
goblingirl/left-lower-leg
rotate: false
xy: 195, 342
size: 33, 70
orig: 33, 70
offset: 0, 0 offset: 0, 0
index: -1 index: -1
goblingirl/left-upper-leg goblingirl/left-upper-leg
rotate: false rotate: true
xy: 37, 81 xy: 811, 93
size: 33, 70 size: 33, 70
orig: 33, 70 orig: 33, 70
offset: 0, 0 offset: 0, 0
index: -1 index: -1
goblingirl/right-upper-leg
rotate: false
xy: 38, 16
size: 34, 63
orig: 34, 63
offset: 0, 0
index: -1
goblin/eyes-closed
rotate: false
xy: 38, 2
size: 34, 12
orig: 34, 12
offset: 0, 0
index: -1
goblin/undies
rotate: false
xy: 54, 154
size: 36, 29
orig: 36, 29
offset: 0, 0
index: -1
goblin/right-arm
rotate: false
xy: 72, 102
size: 23, 50
orig: 23, 50
offset: 0, 0
index: -1
goblin/left-foot goblin/left-foot
rotate: false rotate: false
xy: 131, 256 xy: 883, 95
size: 65, 31 size: 65, 31
orig: 65, 31 orig: 65, 31
offset: 0, 0 offset: 0, 0
index: -1 index: -1
goblingirl/right-arm
rotate: false
xy: 196, 290
size: 28, 50
orig: 28, 50
offset: 0, 0
index: -1
goblingirl/left-shoulder
rotate: false
xy: 226, 294
size: 28, 46
orig: 28, 46
offset: 0, 0
index: -1
goblin/left-arm
rotate: false
xy: 198, 253
size: 37, 35
orig: 37, 35
offset: 0, 0
index: -1
goblingirl/left-foot goblingirl/left-foot
rotate: false rotate: false
xy: 92, 223 xy: 950, 95
size: 65, 31 size: 65, 31
orig: 65, 31 orig: 65, 31
offset: 0, 0 offset: 0, 0
index: -1 index: -1
goblingirl/right-foot goblin/right-foot
rotate: false rotate: false
xy: 92, 188 xy: 580, 56
size: 63, 33 size: 63, 33
orig: 63, 33 orig: 63, 33
offset: 0, 0 offset: 0, 0
index: -1 index: -1
goblin/undie-straps goblingirl/right-foot
rotate: false rotate: false
xy: 92, 167 xy: 645, 56
size: 55, 19 size: 63, 33
orig: 55, 19 orig: 63, 33
offset: 0, 0 offset: 0, 0
index: -1 index: -1
goblingirl/left-arm goblingirl/pelvis
rotate: false rotate: false
xy: 159, 219 xy: 355, 55
size: 37, 35 size: 59, 43
orig: 37, 35 orig: 62, 43
offset: 1, 0
index: -1
goblingirl/right-upper-leg
rotate: true
xy: 416, 64
size: 34, 63
orig: 34, 63
offset: 0, 0 offset: 0, 0
index: -1 index: -1
goblin/right-shoulder goblin/right-shoulder
rotate: false rotate: false
xy: 97, 120 xy: 359, 11
size: 39, 45 size: 39, 42
orig: 39, 45 orig: 39, 45
offset: 0, 0 offset: 0, 0
index: -1 index: -1
goblingirl/right-shoulder
rotate: false
xy: 198, 206
size: 39, 45
orig: 39, 45
offset: 0, 0
index: -1
goblin/left-hand
rotate: false
xy: 157, 176
size: 36, 41
orig: 36, 41
offset: 0, 0
index: -1
goblin/neck
rotate: false
xy: 195, 163
size: 36, 41
orig: 36, 41
offset: 0, 0
index: -1
goblingirl/undie-straps goblingirl/undie-straps
rotate: false rotate: false
xy: 97, 99 xy: 416, 43
size: 55, 19 size: 55, 19
orig: 55, 19 orig: 55, 19
offset: 0, 0 offset: 0, 0
index: -1 index: -1
goblingirl/neck goblingirl/right-shoulder
rotate: true
xy: 400, 2
size: 39, 42
orig: 39, 45
offset: 0, 0
index: -1
goblin/left-arm
rotate: true
xy: 444, 4
size: 37, 35
orig: 37, 35
offset: 0, 0
index: -1
goblin/neck
rotate: false rotate: false
xy: 138, 120 xy: 481, 17
size: 35, 41 size: 36, 41
orig: 35, 41 orig: 36, 41
offset: 0, 0 offset: 0, 0
index: -1 index: -1
goblingirl/left-hand goblingirl/left-hand
rotate: false rotate: false
xy: 175, 121 xy: 519, 18
size: 35, 40 size: 35, 40
orig: 35, 40 orig: 35, 40
offset: 0, 0 offset: 0, 0
index: -1 index: -1
goblin/left-shoulder goblingirl/right-arm
rotate: false rotate: false
xy: 212, 117 xy: 556, 8
size: 22, 50
orig: 28, 50
offset: 3, 0
index: -1
goblingirl/neck
rotate: false
xy: 580, 13
size: 33, 41
orig: 35, 41
offset: 0, 0
index: -1
goblin/left-shoulder
rotate: true
xy: 615, 25
size: 29, 44 size: 29, 44
orig: 29, 44 orig: 29, 44
offset: 0, 0 offset: 0, 0
index: -1 index: -1
goblingirl/eyes-closed goblingirl/left-shoulder
rotate: true
xy: 661, 26
size: 28, 45
orig: 28, 46
offset: 0, 1
index: -1
goblingirl/left-arm
rotate: false rotate: false
xy: 154, 97 xy: 710, 54
size: 37, 21 size: 37, 35
orig: 37, 21 orig: 37, 35
offset: 0, 0
index: -1
goblin/right-arm
rotate: false
xy: 708, 2
size: 23, 50
orig: 23, 50
offset: 0, 0 offset: 0, 0
index: -1 index: -1
goblin/right-hand goblin/right-hand
rotate: false rotate: false
xy: 193, 78 xy: 749, 54
size: 36, 37 size: 36, 37
orig: 36, 37 orig: 36, 37
offset: 0, 0 offset: 0, 0
index: -1 index: -1
goblingirl/right-hand goblingirl/right-hand
rotate: false rotate: false
xy: 74, 39 xy: 733, 15
size: 36, 37 size: 35, 37
orig: 36, 37 orig: 36, 37
offset: 0, 0 offset: 1, 0
index: -1 index: -1
goblingirl/undies goblin/undies
rotate: false rotate: false
xy: 74, 8 xy: 787, 62
size: 36, 29 size: 36, 29
orig: 36, 29 orig: 36, 29
offset: 0, 0 offset: 0, 0
index: -1 index: -1
goblingirl/undies
rotate: false
xy: 825, 62
size: 36, 29
orig: 36, 29
offset: 0, 0
index: -1
goblingirl/eyes-closed
rotate: false
xy: 59, 6
size: 37, 15
orig: 37, 21
offset: 0, 0
index: -1
goblin/eyes-closed
rotate: true
xy: 770, 18
size: 34, 12
orig: 34, 12
offset: 0, 0
index: -1

Binary file not shown.

Before

Width:  |  Height:  |  Size: 145 KiB

After

Width:  |  Height:  |  Size: 144 KiB

View File

@ -4,282 +4,282 @@ format: RGBA8888
filter: Linear,Linear filter: Linear,Linear
repeat: none repeat: none
spear spear
rotate: false rotate: true
xy: 2, 142 xy: 2, 104
size: 22, 368 size: 22, 368
orig: 22, 368 orig: 22, 368
offset: 0, 0 offset: 0, 0
index: -1 index: -1
goblingirl/head goblingirl/head
rotate: false rotate: false
xy: 26, 429 xy: 2, 23
size: 103, 81 size: 103, 79
orig: 103, 81 orig: 103, 81
offset: 0, 0 offset: 0, 2
index: -1 index: -1
goblin/head goblin/head
rotate: false rotate: false
xy: 26, 361 xy: 107, 38
size: 103, 66 size: 103, 64
orig: 103, 66 orig: 103, 66
offset: 0, 0 offset: 0, 0
index: -1 index: -1
goblin/torso goblin/torso
rotate: false rotate: true
xy: 131, 414 xy: 212, 34
size: 68, 96 size: 68, 96
orig: 68, 96 orig: 68, 96
offset: 0, 0 offset: 0, 0
index: -1 index: -1
goblingirl/torso goblin/right-upper-leg
rotate: true
xy: 107, 2
size: 34, 63
orig: 34, 63
offset: 0, 0
index: -1
goblin/left-lower-leg
rotate: true
xy: 172, 2
size: 30, 70
orig: 33, 70
offset: 2, 0
index: -1
goblingirl/left-lower-leg
rotate: true
xy: 244, 2
size: 30, 70
orig: 33, 70
offset: 2, 0
index: -1
goblin/undie-straps
rotate: false rotate: false
xy: 26, 263 xy: 2, 2
size: 68, 96 size: 55, 19
orig: 68, 96 orig: 55, 19
offset: 0, 0 offset: 0, 0
index: -1 index: -1
dagger dagger
rotate: false rotate: true
xy: 26, 153 xy: 372, 100
size: 26, 108 size: 26, 108
orig: 26, 108 orig: 156, 238
offset: 100, 30
index: -1
goblingirl/torso
rotate: true
xy: 482, 60
size: 66, 96
orig: 68, 96
offset: 0, 0 offset: 0, 0
index: -1 index: -1
goblin/right-lower-leg goblin/right-lower-leg
rotate: false rotate: true
xy: 201, 434 xy: 580, 91
size: 36, 76 size: 35, 76
orig: 36, 76 orig: 36, 76
offset: 0, 0 offset: 1, 0
index: -1 index: -1
goblingirl/right-lower-leg goblingirl/right-lower-leg
rotate: false rotate: true
xy: 54, 185 xy: 658, 91
size: 36, 76 size: 35, 76
orig: 36, 76 orig: 36, 76
offset: 0, 0 offset: 1, 0
index: -1 index: -1
goblin/left-upper-leg goblin/left-upper-leg
rotate: false rotate: true
xy: 96, 286 xy: 736, 93
size: 33, 73 size: 33, 73
orig: 33, 73 orig: 33, 73
offset: 0, 0 offset: 0, 0
index: -1 index: -1
goblin/pelvis goblin/pelvis
rotate: false rotate: true
xy: 131, 369 xy: 310, 40
size: 62, 43 size: 62, 43
orig: 62, 43 orig: 62, 43
offset: 0, 0 offset: 0, 0
index: -1 index: -1
goblingirl/pelvis goblin/left-hand
rotate: false rotate: true
xy: 131, 324 xy: 316, 2
size: 62, 43 size: 36, 41
orig: 62, 43 orig: 36, 41
offset: 0, 0
index: -1
goblin/right-foot
rotate: false
xy: 131, 289
size: 63, 33
orig: 63, 33
offset: 0, 0
index: -1
goblin/left-lower-leg
rotate: false
xy: 2, 70
size: 33, 70
orig: 33, 70
offset: 0, 0
index: -1
goblin/right-upper-leg
rotate: false
xy: 2, 5
size: 34, 63
orig: 34, 63
offset: 0, 0
index: -1
goblingirl/left-lower-leg
rotate: false
xy: 195, 342
size: 33, 70
orig: 33, 70
offset: 0, 0 offset: 0, 0
index: -1 index: -1
goblingirl/left-upper-leg goblingirl/left-upper-leg
rotate: false rotate: true
xy: 37, 81 xy: 811, 93
size: 33, 70 size: 33, 70
orig: 33, 70 orig: 33, 70
offset: 0, 0 offset: 0, 0
index: -1 index: -1
goblingirl/right-upper-leg
rotate: false
xy: 38, 16
size: 34, 63
orig: 34, 63
offset: 0, 0
index: -1
goblin/eyes-closed
rotate: false
xy: 38, 2
size: 34, 12
orig: 34, 12
offset: 0, 0
index: -1
goblin/undies
rotate: false
xy: 54, 154
size: 36, 29
orig: 36, 29
offset: 0, 0
index: -1
goblin/right-arm
rotate: false
xy: 72, 102
size: 23, 50
orig: 23, 50
offset: 0, 0
index: -1
goblin/left-foot goblin/left-foot
rotate: false rotate: false
xy: 131, 256 xy: 883, 95
size: 65, 31 size: 65, 31
orig: 65, 31 orig: 65, 31
offset: 0, 0 offset: 0, 0
index: -1 index: -1
goblingirl/right-arm
rotate: false
xy: 196, 290
size: 28, 50
orig: 28, 50
offset: 0, 0
index: -1
goblingirl/left-shoulder
rotate: false
xy: 226, 294
size: 28, 46
orig: 28, 46
offset: 0, 0
index: -1
goblin/left-arm
rotate: false
xy: 198, 253
size: 37, 35
orig: 37, 35
offset: 0, 0
index: -1
goblingirl/left-foot goblingirl/left-foot
rotate: false rotate: false
xy: 92, 223 xy: 950, 95
size: 65, 31 size: 65, 31
orig: 65, 31 orig: 65, 31
offset: 0, 0 offset: 0, 0
index: -1 index: -1
goblingirl/right-foot goblin/right-foot
rotate: false rotate: false
xy: 92, 188 xy: 580, 56
size: 63, 33 size: 63, 33
orig: 63, 33 orig: 63, 33
offset: 0, 0 offset: 0, 0
index: -1 index: -1
goblin/undie-straps goblingirl/right-foot
rotate: false rotate: false
xy: 92, 167 xy: 645, 56
size: 55, 19 size: 63, 33
orig: 55, 19 orig: 63, 33
offset: 0, 0 offset: 0, 0
index: -1 index: -1
goblingirl/left-arm goblingirl/pelvis
rotate: false rotate: false
xy: 159, 219 xy: 355, 55
size: 37, 35 size: 59, 43
orig: 37, 35 orig: 62, 43
offset: 1, 0
index: -1
goblingirl/right-upper-leg
rotate: true
xy: 416, 64
size: 34, 63
orig: 34, 63
offset: 0, 0 offset: 0, 0
index: -1 index: -1
goblin/right-shoulder goblin/right-shoulder
rotate: false rotate: false
xy: 97, 120 xy: 359, 11
size: 39, 45 size: 39, 42
orig: 39, 45 orig: 39, 45
offset: 0, 0 offset: 0, 0
index: -1 index: -1
goblingirl/right-shoulder
rotate: false
xy: 198, 206
size: 39, 45
orig: 39, 45
offset: 0, 0
index: -1
goblin/left-hand
rotate: false
xy: 157, 176
size: 36, 41
orig: 36, 41
offset: 0, 0
index: -1
goblin/neck
rotate: false
xy: 195, 163
size: 36, 41
orig: 36, 41
offset: 0, 0
index: -1
goblingirl/undie-straps goblingirl/undie-straps
rotate: false rotate: false
xy: 97, 99 xy: 416, 43
size: 55, 19 size: 55, 19
orig: 55, 19 orig: 55, 19
offset: 0, 0 offset: 0, 0
index: -1 index: -1
goblingirl/neck goblingirl/right-shoulder
rotate: true
xy: 400, 2
size: 39, 42
orig: 39, 45
offset: 0, 0
index: -1
goblin/left-arm
rotate: true
xy: 444, 4
size: 37, 35
orig: 37, 35
offset: 0, 0
index: -1
goblin/neck
rotate: false rotate: false
xy: 138, 120 xy: 481, 17
size: 35, 41 size: 36, 41
orig: 35, 41 orig: 36, 41
offset: 0, 0 offset: 0, 0
index: -1 index: -1
goblingirl/left-hand goblingirl/left-hand
rotate: false rotate: false
xy: 175, 121 xy: 519, 18
size: 35, 40 size: 35, 40
orig: 35, 40 orig: 35, 40
offset: 0, 0 offset: 0, 0
index: -1 index: -1
goblin/left-shoulder goblingirl/right-arm
rotate: false rotate: false
xy: 212, 117 xy: 556, 8
size: 22, 50
orig: 28, 50
offset: 3, 0
index: -1
goblingirl/neck
rotate: false
xy: 580, 13
size: 33, 41
orig: 35, 41
offset: 0, 0
index: -1
goblin/left-shoulder
rotate: true
xy: 615, 25
size: 29, 44 size: 29, 44
orig: 29, 44 orig: 29, 44
offset: 0, 0 offset: 0, 0
index: -1 index: -1
goblingirl/eyes-closed goblingirl/left-shoulder
rotate: true
xy: 661, 26
size: 28, 45
orig: 28, 46
offset: 0, 1
index: -1
goblingirl/left-arm
rotate: false rotate: false
xy: 154, 97 xy: 710, 54
size: 37, 21 size: 37, 35
orig: 37, 21 orig: 37, 35
offset: 0, 0
index: -1
goblin/right-arm
rotate: false
xy: 708, 2
size: 23, 50
orig: 23, 50
offset: 0, 0 offset: 0, 0
index: -1 index: -1
goblin/right-hand goblin/right-hand
rotate: false rotate: false
xy: 193, 78 xy: 749, 54
size: 36, 37 size: 36, 37
orig: 36, 37 orig: 36, 37
offset: 0, 0 offset: 0, 0
index: -1 index: -1
goblingirl/right-hand goblingirl/right-hand
rotate: false rotate: false
xy: 74, 39 xy: 733, 15
size: 36, 37 size: 35, 37
orig: 36, 37 orig: 36, 37
offset: 0, 0 offset: 1, 0
index: -1 index: -1
goblingirl/undies goblin/undies
rotate: false rotate: false
xy: 74, 8 xy: 787, 62
size: 36, 29 size: 36, 29
orig: 36, 29 orig: 36, 29
offset: 0, 0 offset: 0, 0
index: -1 index: -1
goblingirl/undies
rotate: false
xy: 825, 62
size: 36, 29
orig: 36, 29
offset: 0, 0
index: -1
goblingirl/eyes-closed
rotate: false
xy: 59, 6
size: 37, 15
orig: 37, 21
offset: 0, 0
index: -1
goblin/eyes-closed
rotate: true
xy: 770, 18
size: 34, 12
orig: 34, 12
offset: 0, 0
index: -1

Binary file not shown.

Before

Width:  |  Height:  |  Size: 145 KiB

After

Width:  |  Height:  |  Size: 144 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 18 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 3.2 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 3.4 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 24 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.5 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 3.5 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 5.2 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 4.7 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 6.0 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.4 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 3.8 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 4.4 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.8 KiB

View File

@ -1,8 +0,0 @@
{
pot: true,
paddingX: 2,
paddingY: 2,
duplicatePadding: false,
filterMin: Linear,
filterMag: Linear,
}

Binary file not shown.

Before

Width:  |  Height:  |  Size: 5.7 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.5 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 3.1 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 4.4 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 5.3 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 3.7 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 6.0 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.0 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 4.7 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 5.4 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 8.8 KiB

View File

@ -1,171 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<data version="1.0">
<struct type="Settings">
<key>fileFormatVersion</key>
<int>1</int>
<key>variation</key>
<string>main</string>
<key>verbose</key>
<false/>
<key>autoSDSettings</key>
<array>
<struct type="AutoSDSettings">
<key>scale</key>
<double>0.5</double>
<key>extension</key>
<string>/iphone/</string>
<key>acceptFractionalValues</key>
<false/>
<key>maxTextureSize</key>
<QSize>
<key>width</key>
<int>2048</int>
<key>height</key>
<int>2048</int>
</QSize>
</struct>
</array>
<key>allowRotation</key>
<true/>
<key>quiet</key>
<false/>
<key>premultiplyAlpha</key>
<false/>
<key>shapeDebug</key>
<false/>
<key>dpi</key>
<uint>72</uint>
<key>dataFormat</key>
<string>libgdx</string>
<key>textureFileName</key>
<filename>../Resources/iphone-retina/spineboy.png</filename>
<key>flipPVR</key>
<false/>
<key>ditherType</key>
<enum type="SettingsBase::DitherType">NearestNeighbour</enum>
<key>backgroundColor</key>
<uint>0</uint>
<key>libGdx</key>
<struct type="LibGDX">
<key>filtering</key>
<struct type="LibGDXFiltering">
<key>x</key>
<enum type="LibGDXFiltering::Filtering">Linear</enum>
<key>y</key>
<enum type="LibGDXFiltering::Filtering">Linear</enum>
</struct>
</struct>
<key>shapePadding</key>
<uint>2</uint>
<key>jpgQuality</key>
<uint>80</uint>
<key>pngOptimizationLevel</key>
<uint>0</uint>
<key>textureSubPath</key>
<string></string>
<key>textureFormat</key>
<enum type="SettingsBase::TextureFormat">png</enum>
<key>borderPadding</key>
<uint>2</uint>
<key>maxTextureSize</key>
<QSize>
<key>width</key>
<int>2048</int>
<key>height</key>
<int>2048</int>
</QSize>
<key>fixedTextureSize</key>
<QSize>
<key>width</key>
<int>-1</int>
<key>height</key>
<int>-1</int>
</QSize>
<key>reduceBorderArtifacts</key>
<false/>
<key>algorithmSettings</key>
<struct type="AlgorithmSettings">
<key>algorithm</key>
<enum type="AlgorithmSettings::AlgorithmId">MaxRects</enum>
<key>freeSizeMode</key>
<enum type="AlgorithmSettings::AlgorithmFreeSizeMode">Best</enum>
<key>sizeConstraints</key>
<enum type="AlgorithmSettings::SizeConstraints">NPOT</enum>
<key>forceSquared</key>
<false/>
<key>forceWordAligned</key>
<false/>
<key>maxRects</key>
<struct type="AlgorithmMaxRectsSettings">
<key>heuristic</key>
<enum type="AlgorithmMaxRectsSettings::Heuristic">Best</enum>
</struct>
<key>basic</key>
<struct type="AlgorithmBasicSettings">
<key>sortBy</key>
<enum type="AlgorithmBasicSettings::SortBy">Best</enum>
<key>order</key>
<enum type="AlgorithmBasicSettings::Order">Ascending</enum>
</struct>
</struct>
<key>andEngine</key>
<struct type="AndEngine">
<key>minFilter</key>
<enum type="AndEngine::MinFilter">Linear</enum>
<key>packageName</key>
<string>Texture</string>
<key>javaFileName</key>
<filename>../Resources/data/spineboy2.java</filename>
<key>wrap</key>
<struct type="AndEngineWrap">
<key>s</key>
<enum type="AndEngineWrap::Wrap">Clamp</enum>
<key>t</key>
<enum type="AndEngineWrap::Wrap">Clamp</enum>
</struct>
<key>magFilter</key>
<enum type="AndEngine::MagFilter">MagLinear</enum>
</struct>
<key>dataFileName</key>
<filename>../Resources/iphone-retina/spineboy.txt</filename>
<key>mainExtension</key>
<string>/iphone-retina/</string>
<key>forceIdenticalLayout</key>
<false/>
<key>outputFormat</key>
<enum type="SettingsBase::OutputFormat">RGBA8888</enum>
<key>autoAliasEnabled</key>
<true/>
<key>trimSpriteNames</key>
<false/>
<key>globalSpriteSettings</key>
<struct type="SpriteSettings">
<key>scale</key>
<double>1</double>
<key>scaleMode</key>
<enum type="ScaleMode">Smooth</enum>
<key>innerPadding</key>
<uint>0</uint>
<key>extrude</key>
<uint>0</uint>
<key>trimThreshold</key>
<uint>1</uint>
<key>trimMode</key>
<enum type="SpriteSettings::TrimMode">Trim</enum>
<key>heuristicMask</key>
<false/>
</struct>
<key>fileList</key>
<array>
<filename>images</filename>
</array>
<key>ignoreFileList</key>
<array/>
<key>replaceList</key>
<array/>
<key>commonDivisorX</key>
<uint>1</uint>
<key>commonDivisorY</key>
<uint>1</uint>
</struct>
</data>

View File

@ -87,25 +87,14 @@ void RegionAttachment_updateQuad (RegionAttachment* self, Slot* slot, ccV3F_C4B_
quad->br.vertices.x = self->vertices[VERTEX_X4]; quad->br.vertices.x = self->vertices[VERTEX_X4];
quad->br.vertices.y = self->vertices[VERTEX_Y4]; quad->br.vertices.y = self->vertices[VERTEX_Y4];
if (self->region->rotate) { quad->bl.texCoords.u = self->uvs[VERTEX_X1];
quad->tl.texCoords.u = self->region->u; quad->bl.texCoords.v = self->uvs[VERTEX_Y1];
quad->tl.texCoords.v = self->region->v2; quad->tl.texCoords.u = self->uvs[VERTEX_X2];
quad->tr.texCoords.u = self->region->u; quad->tl.texCoords.v = self->uvs[VERTEX_Y2];
quad->tr.texCoords.v = self->region->v; quad->tr.texCoords.u = self->uvs[VERTEX_X3];
quad->br.texCoords.u = self->region->u2; quad->tr.texCoords.v = self->uvs[VERTEX_Y3];
quad->br.texCoords.v = self->region->v; quad->br.texCoords.u = self->uvs[VERTEX_X4];
quad->bl.texCoords.u = self->region->u2; quad->br.texCoords.v = self->uvs[VERTEX_Y4];
quad->bl.texCoords.v = self->region->v2;
} else {
quad->bl.texCoords.u = self->region->u;
quad->bl.texCoords.v = self->region->v2;
quad->tl.texCoords.u = self->region->u;
quad->tl.texCoords.v = self->region->v;
quad->tr.texCoords.u = self->region->u2;
quad->tr.texCoords.v = self->region->v;
quad->br.texCoords.u = self->region->u2;
quad->br.texCoords.v = self->region->v2;
}
} }
/**/ /**/
@ -114,6 +103,7 @@ CCSkeleton* CCSkeleton::createWithFile (const char* skeletonDataFile, Atlas* atl
SkeletonJson* json = SkeletonJson_create(atlas); SkeletonJson* json = SkeletonJson_create(atlas);
json->scale = scale; json->scale = scale;
SkeletonData* skeletonData = SkeletonJson_readSkeletonDataFile(json, skeletonDataFile); SkeletonData* skeletonData = SkeletonJson_readSkeletonDataFile(json, skeletonDataFile);
CCAssert(skeletonData, json->error ? json->error : "Error reading skeleton data.");
SkeletonJson_dispose(json); SkeletonJson_dispose(json);
CCSkeleton* node = skeletonData ? createWithData(skeletonData) : 0; CCSkeleton* node = skeletonData ? createWithData(skeletonData) : 0;
node->ownsSkeleton = true; node->ownsSkeleton = true;
@ -122,10 +112,12 @@ CCSkeleton* CCSkeleton::createWithFile (const char* skeletonDataFile, Atlas* atl
CCSkeleton* CCSkeleton::createWithFile (const char* skeletonDataFile, const char* atlasFile, float scale) { CCSkeleton* CCSkeleton::createWithFile (const char* skeletonDataFile, const char* atlasFile, float scale) {
Atlas* atlas = Atlas_readAtlasFile(atlasFile); Atlas* atlas = Atlas_readAtlasFile(atlasFile);
CCAssert(atlas, "Error reading atlas file.");
if (!atlas) return 0; if (!atlas) return 0;
SkeletonJson* json = SkeletonJson_create(atlas); SkeletonJson* json = SkeletonJson_create(atlas);
json->scale = scale; json->scale = scale;
SkeletonData* skeletonData = SkeletonJson_readSkeletonDataFile(json, skeletonDataFile); SkeletonData* skeletonData = SkeletonJson_readSkeletonDataFile(json, skeletonDataFile);
CCAssert(skeletonData, json->error ? json->error : "Error reading skeleton data file.");
SkeletonJson_dispose(json); SkeletonJson_dispose(json);
if (!skeletonData) { if (!skeletonData) {
Atlas_dispose(atlas); Atlas_dispose(atlas);
@ -197,7 +189,7 @@ void CCSkeleton::draw () {
Slot* slot = skeleton->slots[i]; Slot* slot = skeleton->slots[i];
if (!slot->attachment || slot->attachment->type != ATTACHMENT_REGION) continue; if (!slot->attachment || slot->attachment->type != ATTACHMENT_REGION) continue;
RegionAttachment* attachment = (RegionAttachment*)slot->attachment; RegionAttachment* attachment = (RegionAttachment*)slot->attachment;
CCTextureAtlas* regionTextureAtlas = (CCTextureAtlas*)attachment->region->page->texture; CCTextureAtlas* regionTextureAtlas = (CCTextureAtlas*)attachment->texture;
if (regionTextureAtlas != textureAtlas) { if (regionTextureAtlas != textureAtlas) {
if (textureAtlas) { if (textureAtlas) {
textureAtlas->drawQuads(); textureAtlas->drawQuads();

View File

@ -60,8 +60,8 @@ public class RegionAttachment extends Attachment {
if (region.rotate) { if (region.rotate) {
localX += region.offsetX / region.originalWidth * height; localX += region.offsetX / region.originalWidth * height;
localY += region.offsetY / region.originalHeight * width; localY += region.offsetY / region.originalHeight * width;
localX2 -= (region.originalWidth - region.offsetX - region.packedHeight) / region.originalWidth * width; localX2 -= (region.originalWidth - region.offsetX - region.packedHeight) / region.originalWidth * height;
localY2 -= (region.originalHeight - region.offsetY - region.packedWidth) / region.originalHeight * height; localY2 -= (region.originalHeight - region.offsetY - region.packedWidth) / region.originalHeight * width;
} else { } else {
localX += region.offsetX / region.originalWidth * width; localX += region.offsetX / region.originalWidth * width;
localY += region.offsetY / region.originalHeight * height; localY += region.offsetY / region.originalHeight * height;

View File

@ -4,282 +4,282 @@ format: RGBA8888
filter: Linear,Linear filter: Linear,Linear
repeat: none repeat: none
spear spear
rotate: false rotate: true
xy: 2, 142 xy: 2, 104
size: 22, 368 size: 22, 368
orig: 22, 368 orig: 22, 368
offset: 0, 0 offset: 0, 0
index: -1 index: -1
goblingirl/head goblingirl/head
rotate: false rotate: false
xy: 26, 429 xy: 2, 23
size: 103, 81 size: 103, 79
orig: 103, 81 orig: 103, 81
offset: 0, 0 offset: 0, 2
index: -1 index: -1
goblin/head goblin/head
rotate: false rotate: false
xy: 26, 361 xy: 107, 38
size: 103, 66 size: 103, 64
orig: 103, 66 orig: 103, 66
offset: 0, 0 offset: 0, 0
index: -1 index: -1
goblin/torso goblin/torso
rotate: false rotate: true
xy: 131, 414 xy: 212, 34
size: 68, 96 size: 68, 96
orig: 68, 96 orig: 68, 96
offset: 0, 0 offset: 0, 0
index: -1 index: -1
goblingirl/torso goblin/right-upper-leg
rotate: true
xy: 107, 2
size: 34, 63
orig: 34, 63
offset: 0, 0
index: -1
goblin/left-lower-leg
rotate: true
xy: 172, 2
size: 30, 70
orig: 33, 70
offset: 2, 0
index: -1
goblingirl/left-lower-leg
rotate: true
xy: 244, 2
size: 30, 70
orig: 33, 70
offset: 2, 0
index: -1
goblin/undie-straps
rotate: false rotate: false
xy: 26, 263 xy: 2, 2
size: 68, 96 size: 55, 19
orig: 68, 96 orig: 55, 19
offset: 0, 0 offset: 0, 0
index: -1 index: -1
dagger dagger
rotate: false rotate: true
xy: 26, 153 xy: 372, 100
size: 26, 108 size: 26, 108
orig: 26, 108 orig: 156, 238
offset: 100, 30
index: -1
goblingirl/torso
rotate: true
xy: 482, 60
size: 66, 96
orig: 68, 96
offset: 0, 0 offset: 0, 0
index: -1 index: -1
goblin/right-lower-leg goblin/right-lower-leg
rotate: false rotate: true
xy: 201, 434 xy: 580, 91
size: 36, 76 size: 35, 76
orig: 36, 76 orig: 36, 76
offset: 0, 0 offset: 1, 0
index: -1 index: -1
goblingirl/right-lower-leg goblingirl/right-lower-leg
rotate: false rotate: true
xy: 54, 185 xy: 658, 91
size: 36, 76 size: 35, 76
orig: 36, 76 orig: 36, 76
offset: 0, 0 offset: 1, 0
index: -1 index: -1
goblin/left-upper-leg goblin/left-upper-leg
rotate: false rotate: true
xy: 96, 286 xy: 736, 93
size: 33, 73 size: 33, 73
orig: 33, 73 orig: 33, 73
offset: 0, 0 offset: 0, 0
index: -1 index: -1
goblin/pelvis goblin/pelvis
rotate: false rotate: true
xy: 131, 369 xy: 310, 40
size: 62, 43 size: 62, 43
orig: 62, 43 orig: 62, 43
offset: 0, 0 offset: 0, 0
index: -1 index: -1
goblingirl/pelvis goblin/left-hand
rotate: false rotate: true
xy: 131, 324 xy: 316, 2
size: 62, 43 size: 36, 41
orig: 62, 43 orig: 36, 41
offset: 0, 0
index: -1
goblin/right-foot
rotate: false
xy: 131, 289
size: 63, 33
orig: 63, 33
offset: 0, 0
index: -1
goblin/left-lower-leg
rotate: false
xy: 2, 70
size: 33, 70
orig: 33, 70
offset: 0, 0
index: -1
goblin/right-upper-leg
rotate: false
xy: 2, 5
size: 34, 63
orig: 34, 63
offset: 0, 0
index: -1
goblingirl/left-lower-leg
rotate: false
xy: 195, 342
size: 33, 70
orig: 33, 70
offset: 0, 0 offset: 0, 0
index: -1 index: -1
goblingirl/left-upper-leg goblingirl/left-upper-leg
rotate: false rotate: true
xy: 37, 81 xy: 811, 93
size: 33, 70 size: 33, 70
orig: 33, 70 orig: 33, 70
offset: 0, 0 offset: 0, 0
index: -1 index: -1
goblingirl/right-upper-leg
rotate: false
xy: 38, 16
size: 34, 63
orig: 34, 63
offset: 0, 0
index: -1
goblin/eyes-closed
rotate: false
xy: 38, 2
size: 34, 12
orig: 34, 12
offset: 0, 0
index: -1
goblin/undies
rotate: false
xy: 54, 154
size: 36, 29
orig: 36, 29
offset: 0, 0
index: -1
goblin/right-arm
rotate: false
xy: 72, 102
size: 23, 50
orig: 23, 50
offset: 0, 0
index: -1
goblin/left-foot goblin/left-foot
rotate: false rotate: false
xy: 131, 256 xy: 883, 95
size: 65, 31 size: 65, 31
orig: 65, 31 orig: 65, 31
offset: 0, 0 offset: 0, 0
index: -1 index: -1
goblingirl/right-arm
rotate: false
xy: 196, 290
size: 28, 50
orig: 28, 50
offset: 0, 0
index: -1
goblingirl/left-shoulder
rotate: false
xy: 226, 294
size: 28, 46
orig: 28, 46
offset: 0, 0
index: -1
goblin/left-arm
rotate: false
xy: 198, 253
size: 37, 35
orig: 37, 35
offset: 0, 0
index: -1
goblingirl/left-foot goblingirl/left-foot
rotate: false rotate: false
xy: 92, 223 xy: 950, 95
size: 65, 31 size: 65, 31
orig: 65, 31 orig: 65, 31
offset: 0, 0 offset: 0, 0
index: -1 index: -1
goblingirl/right-foot goblin/right-foot
rotate: false rotate: false
xy: 92, 188 xy: 580, 56
size: 63, 33 size: 63, 33
orig: 63, 33 orig: 63, 33
offset: 0, 0 offset: 0, 0
index: -1 index: -1
goblin/undie-straps goblingirl/right-foot
rotate: false rotate: false
xy: 92, 167 xy: 645, 56
size: 55, 19 size: 63, 33
orig: 55, 19 orig: 63, 33
offset: 0, 0 offset: 0, 0
index: -1 index: -1
goblingirl/left-arm goblingirl/pelvis
rotate: false rotate: false
xy: 159, 219 xy: 355, 55
size: 37, 35 size: 59, 43
orig: 37, 35 orig: 62, 43
offset: 1, 0
index: -1
goblingirl/right-upper-leg
rotate: true
xy: 416, 64
size: 34, 63
orig: 34, 63
offset: 0, 0 offset: 0, 0
index: -1 index: -1
goblin/right-shoulder goblin/right-shoulder
rotate: false rotate: false
xy: 97, 120 xy: 359, 11
size: 39, 45 size: 39, 42
orig: 39, 45 orig: 39, 45
offset: 0, 0 offset: 0, 0
index: -1 index: -1
goblingirl/right-shoulder
rotate: false
xy: 198, 206
size: 39, 45
orig: 39, 45
offset: 0, 0
index: -1
goblin/left-hand
rotate: false
xy: 157, 176
size: 36, 41
orig: 36, 41
offset: 0, 0
index: -1
goblin/neck
rotate: false
xy: 195, 163
size: 36, 41
orig: 36, 41
offset: 0, 0
index: -1
goblingirl/undie-straps goblingirl/undie-straps
rotate: false rotate: false
xy: 97, 99 xy: 416, 43
size: 55, 19 size: 55, 19
orig: 55, 19 orig: 55, 19
offset: 0, 0 offset: 0, 0
index: -1 index: -1
goblingirl/neck goblingirl/right-shoulder
rotate: true
xy: 400, 2
size: 39, 42
orig: 39, 45
offset: 0, 0
index: -1
goblin/left-arm
rotate: true
xy: 444, 4
size: 37, 35
orig: 37, 35
offset: 0, 0
index: -1
goblin/neck
rotate: false rotate: false
xy: 138, 120 xy: 481, 17
size: 35, 41 size: 36, 41
orig: 35, 41 orig: 36, 41
offset: 0, 0 offset: 0, 0
index: -1 index: -1
goblingirl/left-hand goblingirl/left-hand
rotate: false rotate: false
xy: 175, 121 xy: 519, 18
size: 35, 40 size: 35, 40
orig: 35, 40 orig: 35, 40
offset: 0, 0 offset: 0, 0
index: -1 index: -1
goblin/left-shoulder goblingirl/right-arm
rotate: false rotate: false
xy: 212, 117 xy: 556, 8
size: 22, 50
orig: 28, 50
offset: 3, 0
index: -1
goblingirl/neck
rotate: false
xy: 580, 13
size: 33, 41
orig: 35, 41
offset: 0, 0
index: -1
goblin/left-shoulder
rotate: true
xy: 615, 25
size: 29, 44 size: 29, 44
orig: 29, 44 orig: 29, 44
offset: 0, 0 offset: 0, 0
index: -1 index: -1
goblingirl/eyes-closed goblingirl/left-shoulder
rotate: true
xy: 661, 26
size: 28, 45
orig: 28, 46
offset: 0, 1
index: -1
goblingirl/left-arm
rotate: false rotate: false
xy: 154, 97 xy: 710, 54
size: 37, 21 size: 37, 35
orig: 37, 21 orig: 37, 35
offset: 0, 0
index: -1
goblin/right-arm
rotate: false
xy: 708, 2
size: 23, 50
orig: 23, 50
offset: 0, 0 offset: 0, 0
index: -1 index: -1
goblin/right-hand goblin/right-hand
rotate: false rotate: false
xy: 193, 78 xy: 749, 54
size: 36, 37 size: 36, 37
orig: 36, 37 orig: 36, 37
offset: 0, 0 offset: 0, 0
index: -1 index: -1
goblingirl/right-hand goblingirl/right-hand
rotate: false rotate: false
xy: 74, 39 xy: 733, 15
size: 36, 37 size: 35, 37
orig: 36, 37 orig: 36, 37
offset: 0, 0 offset: 1, 0
index: -1 index: -1
goblingirl/undies goblin/undies
rotate: false rotate: false
xy: 74, 8 xy: 787, 62
size: 36, 29 size: 36, 29
orig: 36, 29 orig: 36, 29
offset: 0, 0 offset: 0, 0
index: -1 index: -1
goblingirl/undies
rotate: false
xy: 825, 62
size: 36, 29
orig: 36, 29
offset: 0, 0
index: -1
goblingirl/eyes-closed
rotate: false
xy: 59, 6
size: 37, 15
orig: 37, 21
offset: 0, 0
index: -1
goblin/eyes-closed
rotate: true
xy: 770, 18
size: 34, 12
orig: 34, 12
offset: 0, 0
index: -1

View File

@ -3,26 +3,26 @@
{ "name": "root" }, { "name": "root" },
{ "name": "hip", "parent": "root", "x": 0.64, "y": 114.41 }, { "name": "hip", "parent": "root", "x": 0.64, "y": 114.41 },
{ "name": "left upper leg", "parent": "hip", "length": 50.39, "x": 14.45, "y": 2.81, "rotation": -89.09 }, { "name": "left upper leg", "parent": "hip", "length": 50.39, "x": 14.45, "y": 2.81, "rotation": -89.09 },
{ "name": "left lower leg", "parent": "left upper leg", "length": 49.89, "x": 56.34, "y": 0.98, "rotation": -16.65 }, { "name": "pelvis", "parent": "hip", "x": 1.41, "y": -6.57 },
{ "name": "left foot", "parent": "left lower leg", "length": 46.5, "x": 58.94, "y": -7.61, "rotation": 102.43 },
{ "name": "right upper leg", "parent": "hip", "length": 42.45, "x": -20.07, "y": -6.83, "rotation": -97.49 }, { "name": "right upper leg", "parent": "hip", "length": 42.45, "x": -20.07, "y": -6.83, "rotation": -97.49 },
{ "name": "right lower leg", "parent": "right upper leg", "length": 58.52, "x": 42.99, "y": -0.61, "rotation": -14.34 },
{ "name": "right foot", "parent": "right lower leg", "length": 45.45, "x": 64.88, "y": 0.04, "rotation": 110.3 },
{ "name": "torso", "parent": "hip", "length": 85.82, "x": -6.42, "y": 1.97, "rotation": 93.92 }, { "name": "torso", "parent": "hip", "length": 85.82, "x": -6.42, "y": 1.97, "rotation": 93.92 },
{ "name": "neck", "parent": "torso", "length": 18.38, "x": 81.67, "y": -6.34, "rotation": -1.51 }, { "name": "left lower leg", "parent": "left upper leg", "length": 49.89, "x": 56.34, "y": 0.98, "rotation": -16.65 },
{ "name": "head", "parent": "neck", "length": 68.28, "x": 20.93, "y": 11.59, "rotation": -13.92 },
{ "name": "right shoulder", "parent": "torso", "length": 37.24, "x": 76.02, "y": 18.14, "rotation": 133.88 },
{ "name": "right arm", "parent": "right shoulder", "length": 36.74, "x": 37.6, "y": 0.31, "rotation": 36.32 },
{ "name": "right hand", "parent": "right arm", "length": 15.32, "x": 36.9, "y": 0.34, "rotation": 2.35 },
{ "name": "left shoulder", "parent": "torso", "length": 35.43, "x": 74.04, "y": -20.38, "rotation": -156.96 }, { "name": "left shoulder", "parent": "torso", "length": 35.43, "x": 74.04, "y": -20.38, "rotation": -156.96 },
{ "name": "neck", "parent": "torso", "length": 18.38, "x": 81.67, "y": -6.34, "rotation": -1.51 },
{ "name": "right lower leg", "parent": "right upper leg", "length": 58.52, "x": 42.99, "y": -0.61, "rotation": -14.34 },
{ "name": "right shoulder", "parent": "torso", "length": 37.24, "x": 76.02, "y": 18.14, "rotation": 133.88 },
{ "name": "head", "parent": "neck", "length": 68.28, "x": 20.93, "y": 11.59, "rotation": -13.92 },
{ "name": "left arm", "parent": "left shoulder", "length": 35.62, "x": 37.85, "y": -2.34, "rotation": 28.16 }, { "name": "left arm", "parent": "left shoulder", "length": 35.62, "x": 37.85, "y": -2.34, "rotation": 28.16 },
{ "name": "left foot", "parent": "left lower leg", "length": 46.5, "x": 58.94, "y": -7.61, "rotation": 102.43 },
{ "name": "right arm", "parent": "right shoulder", "length": 36.74, "x": 37.6, "y": 0.31, "rotation": 36.32 },
{ "name": "right foot", "parent": "right lower leg", "length": 45.45, "x": 64.88, "y": 0.04, "rotation": 110.3 },
{ "name": "left hand", "parent": "left arm", "length": 11.52, "x": 35.62, "y": 0.07, "rotation": 2.7 }, { "name": "left hand", "parent": "left arm", "length": 11.52, "x": 35.62, "y": 0.07, "rotation": 2.7 },
{ "name": "pelvis", "parent": "hip", "x": 1.41, "y": -6.57 } { "name": "right hand", "parent": "right arm", "length": 15.32, "x": 36.9, "y": 0.34, "rotation": 2.35 }
], ],
"slots": [ "slots": [
{ "name": "left shoulder", "bone": "left shoulder", "attachment": "left shoulder" }, { "name": "left shoulder", "bone": "left shoulder", "attachment": "left shoulder" },
{ "name": "left arm", "bone": "left arm", "attachment": "left arm" }, { "name": "left arm", "bone": "left arm", "attachment": "left arm" },
{ "name": "left hand item", "bone": "left hand", "attachment": "spear" }, { "name": "left hand item", "bone": "left hand", "attachment": "dagger" },
{ "name": "left hand", "bone": "left hand", "attachment": "left hand" }, { "name": "left hand", "bone": "left hand", "attachment": "left hand" },
{ "name": "left foot", "bone": "left foot", "attachment": "left foot" }, { "name": "left foot", "bone": "left foot", "attachment": "left foot" },
{ "name": "left lower leg", "bone": "left lower leg", "attachment": "left lower leg" }, { "name": "left lower leg", "bone": "left lower leg", "attachment": "left lower leg" },
@ -45,11 +45,11 @@
"skins": { "skins": {
"default": { "default": {
"left hand item": { "left hand item": {
"dagger": { "x": 7.88, "y": -23.45, "rotation": 10.47, "width": 26, "height": 108 }, "dagger": { "x": -35.5, "y": 3.85, "rotation": 10.47, "width": 156, "height": 238 },
"spear": { "x": -4.55, "y": 39.2, "rotation": 13.04, "width": 22, "height": 368 } "spear": { "x": -4.55, "y": 39.2, "rotation": 13.04, "width": 22, "height": 368 }
}, },
"right hand item": { "right hand item": {
"dagger": { "x": 6.51, "y": -24.15, "rotation": -8.06, "width": 26, "height": 108 } "dagger": { "x": -21.57, "y": 15.8, "rotation": -8.06, "width": 156, "height": 238 }
} }
}, },
"goblin": { "goblin": {

Binary file not shown.

Before

Width:  |  Height:  |  Size: 145 KiB

After

Width:  |  Height:  |  Size: 144 KiB

View File

@ -90,6 +90,7 @@ void goblins () {
// Load atlas, skeleton, and animations. // Load atlas, skeleton, and animations.
Atlas* atlas = Atlas_readAtlasFile("../data/goblins.atlas"); Atlas* atlas = Atlas_readAtlasFile("../data/goblins.atlas");
SkeletonJson* json = SkeletonJson_create(atlas); SkeletonJson* json = SkeletonJson_create(atlas);
json->scale = 2;
SkeletonData *skeletonData = SkeletonJson_readSkeletonDataFile(json, "../data/goblins.json"); SkeletonData *skeletonData = SkeletonJson_readSkeletonDataFile(json, "../data/goblins.json");
Animation* walkAnimation = SkeletonData_findAnimation(skeletonData, "walk"); Animation* walkAnimation = SkeletonData_findAnimation(skeletonData, "walk");
SkeletonJson_dispose(json); SkeletonJson_dispose(json);
@ -102,15 +103,15 @@ void goblins () {
skeleton->flipY = false; skeleton->flipY = false;
Skeleton_setSkinByName(skeleton, "goblin"); Skeleton_setSkinByName(skeleton, "goblin");
Skeleton_setSlotsToBindPose(skeleton); Skeleton_setSlotsToBindPose(skeleton);
Skeleton_setAttachment(skeleton, "left hand item", "dagger"); // Skeleton_setAttachment(skeleton, "left hand item", "dagger");
skeleton->root->x = 320; skeleton->root->x = 320;
skeleton->root->y = 420; skeleton->root->y = 590;
Skeleton_updateWorldTransform(skeleton); Skeleton_updateWorldTransform(skeleton);
AnimationState_setAnimation(drawable->state, walkAnimation, true); AnimationState_setAnimation(drawable->state, walkAnimation, true);
sf::RenderWindow window(sf::VideoMode(640, 480), "Spine SFML"); sf::RenderWindow window(sf::VideoMode(640, 640), "Spine SFML");
window.setFramerateLimit(60); window.setFramerateLimit(60);
sf::Event event; sf::Event event;
sf::Clock deltaClock; sf::Clock deltaClock;
@ -133,6 +134,6 @@ void goblins () {
} }
int main () { int main () {
spineboy(); // spineboy();
goblins(); goblins();
} }

View File

@ -41,7 +41,7 @@ void _AtlasPage_createTexture (AtlasPage* self, const char* path) {
self->texture = texture; self->texture = texture;
Vector2u size = texture->getSize(); Vector2u size = texture->getSize();
self->width = size.x; self->width = size.x;
self->height = size.x; self->height = size.y;
} }
void _AtlasPage_disposeTexture (AtlasPage* self) { void _AtlasPage_disposeTexture (AtlasPage* self) {
@ -117,32 +117,19 @@ void SkeletonDrawable::draw (RenderTarget& target, RenderStates states) const {
vertices[3].position.x = regionAttachment->vertices[VERTEX_X4]; vertices[3].position.x = regionAttachment->vertices[VERTEX_X4];
vertices[3].position.y = regionAttachment->vertices[VERTEX_Y4]; vertices[3].position.y = regionAttachment->vertices[VERTEX_Y4];
int u = regionAttachment->region->x;
int u2 = u + regionAttachment->region->width;
int v = regionAttachment->region->y;
int v2 = v + regionAttachment->region->height;
if (regionAttachment->region->rotate) {
vertices[1].texCoords.x = u;
vertices[1].texCoords.y = v2;
vertices[2].texCoords.x = u;
vertices[2].texCoords.y = v;
vertices[3].texCoords.x = u2;
vertices[3].texCoords.y = v;
vertices[0].texCoords.x = u2;
vertices[0].texCoords.y = v2;
} else {
vertices[0].texCoords.x = u;
vertices[0].texCoords.y = v2;
vertices[1].texCoords.x = u;
vertices[1].texCoords.y = v;
vertices[2].texCoords.x = u2;
vertices[2].texCoords.y = v;
vertices[3].texCoords.x = u2;
vertices[3].texCoords.y = v2;
}
// SMFL doesn't handle batching for us, so we'll just force a single texture per skeleton. // SMFL doesn't handle batching for us, so we'll just force a single texture per skeleton.
states.texture = (Texture*)regionAttachment->region->page->texture; states.texture = (Texture*)regionAttachment->texture;
Vector2u size = states.texture->getSize();
vertices[0].texCoords.x = regionAttachment->uvs[VERTEX_X1] * size.x;
vertices[0].texCoords.y = regionAttachment->uvs[VERTEX_Y1] * size.y;
vertices[1].texCoords.x = regionAttachment->uvs[VERTEX_X2] * size.x;
vertices[1].texCoords.y = regionAttachment->uvs[VERTEX_Y2] * size.y;
vertices[2].texCoords.x = regionAttachment->uvs[VERTEX_X3] * size.x;
vertices[2].texCoords.y = regionAttachment->uvs[VERTEX_Y3] * size.y;
vertices[3].texCoords.x = regionAttachment->uvs[VERTEX_X4] * size.x;
vertices[3].texCoords.y = regionAttachment->uvs[VERTEX_Y4] * size.y;
vertexArray->append(vertices[0]); vertexArray->append(vertices[0]);
vertexArray->append(vertices[1]); vertexArray->append(vertices[1]);
vertexArray->append(vertices[2]); vertexArray->append(vertices[2]);