diff --git a/spine-android/app/src/main/assets/celestial-circus-pro.skel b/spine-android/app/src/main/assets/celestial-circus-pro.skel index cf834001b..222637bba 100644 Binary files a/spine-android/app/src/main/assets/celestial-circus-pro.skel and b/spine-android/app/src/main/assets/celestial-circus-pro.skel differ diff --git a/spine-android/app/src/main/assets/celestial-circus.atlas b/spine-android/app/src/main/assets/celestial-circus.atlas index 17f32b2a3..f83235e9a 100644 --- a/spine-android/app/src/main/assets/celestial-circus.atlas +++ b/spine-android/app/src/main/assets/celestial-circus.atlas @@ -3,171 +3,155 @@ celestial-circus.png filter: Linear, Linear scale: 0.4 arm-back-down - bounds: 324, 401, 38, 82 - rotate: 90 + bounds: 971, 683, 38, 82 arm-back-up - bounds: 290, 44, 83, 116 - rotate: 90 + bounds: 939, 44, 83, 116 arm-front-down - bounds: 706, 2, 36, 78 - rotate: 90 + bounds: 971, 603, 36, 78 arm-front-up - bounds: 860, 138, 77, 116 -bench - bounds: 725, 256, 189, 48 -body-bottom - bounds: 879, 868, 154, 124 + bounds: 289, 22, 77, 116 rotate: 90 +bench + bounds: 586, 47, 189, 48 +body-bottom + bounds: 868, 270, 154, 124 body-top - bounds: 725, 128, 126, 133 + bounds: 2, 156, 126, 132 + offsets: 0, 0, 126, 133 rotate: 90 chest - bounds: 408, 26, 104, 93 + bounds: 490, 267, 104, 93 + rotate: 180 cloud-back - bounds: 752, 378, 202, 165 + bounds: 804, 563, 202, 165 + rotate: 90 cloud-front - bounds: 2, 2, 325, 196 - rotate: 90 + bounds: 606, 440, 325, 196 + rotate: 270 collar - bounds: 786, 13, 47, 26 + bounds: 373, 739, 47, 26 ear - bounds: 1002, 643, 20, 28 + bounds: 106, 737, 20, 28 eye-back-shadow - bounds: 428, 395, 14, 10 + bounds: 233, 755, 14, 10 eye-front-shadow - bounds: 704, 529, 24, 14 + bounds: 128, 751, 24, 14 eye-reflex-back - bounds: 860, 128, 8, 7 - rotate: 90 + bounds: 787, 758, 8, 7 eye-reflex-front - bounds: 726, 386, 10, 7 + bounds: 154, 758, 10, 7 eye-white-back - bounds: 835, 23, 13, 16 + bounds: 616, 749, 13, 16 eye-white-front - bounds: 1005, 1000, 22, 17 - rotate: 90 + bounds: 477, 748, 22, 17 eyelashes-down-back - bounds: 232, 329, 11, 6 - rotate: 90 + bounds: 655, 759, 11, 6 eyelashes-down-front - bounds: 913, 851, 15, 6 - rotate: 90 + bounds: 549, 759, 15, 6 eyelashes-top-back - bounds: 408, 395, 18, 10 + bounds: 353, 755, 18, 10 eyelashes-top-front - bounds: 702, 179, 30, 16 - rotate: 90 + bounds: 749, 749, 30, 16 face - bounds: 514, 26, 93, 102 - rotate: 90 + bounds: 775, 277, 91, 102 + offsets: 2, 0, 93, 102 feathers-back - bounds: 954, 625, 46, 46 + bounds: 192, 611, 46, 46 feathers-front - bounds: 706, 40, 72, 86 + bounds: 415, 679, 72, 86 fringe-middle-back - bounds: 200, 6, 33, 52 - rotate: 90 + bounds: 794, 509, 33, 52 fringe-middle-front - bounds: 878, 76, 60, 50 - rotate: 90 + bounds: 679, 202, 60, 50 fringe-side-back - bounds: 780, 41, 27, 94 - rotate: 90 + bounds: 407, 5, 27, 94 fringe-side-front - bounds: 939, 161, 26, 93 + bounds: 14, 331, 26, 93 glove-bottom-back - bounds: 954, 572, 51, 41 - rotate: 90 + bounds: 14, 681, 51, 41 glove-bottom-front - bounds: 916, 256, 47, 48 + bounds: 313, 288, 47, 48 hair-back-1 - bounds: 444, 395, 132, 306 - rotate: 90 + bounds: 716, 91, 132, 306 + rotate: 270 hair-back-2 - bounds: 438, 211, 80, 285 + bounds: 124, 100, 80, 285 rotate: 90 hair-back-3 - bounds: 719, 306, 70, 268 - rotate: 90 + bounds: 410, 78, 70, 268 + rotate: 270 hair-back-4 - bounds: 438, 121, 88, 262 + bounds: 42, 250, 88, 262 rotate: 90 hair-back-5 - bounds: 438, 293, 88, 279 + bounds: 320, 141, 88, 279 rotate: 90 hair-back-6 - bounds: 200, 41, 88, 286 + bounds: 2, 36, 88, 286 + rotate: 90 hair-hat-shadow - bounds: 232, 398, 90, 41 + bounds: 14, 724, 90, 41 hand-back - bounds: 954, 673, 60, 47 - rotate: 90 + bounds: 2, 42, 60, 47 hand-front - bounds: 967, 172, 53, 60 + bounds: 909, 208, 53, 60 hat-back - bounds: 954, 802, 64, 45 - rotate: 90 + bounds: 741, 189, 64, 45 hat-front - bounds: 780, 70, 96, 56 + bounds: 926, 396, 96, 56 head-back - bounds: 618, 17, 102, 86 - rotate: 90 + bounds: 777, 2, 102, 86 jabot - bounds: 967, 234, 70, 55 - rotate: 90 + bounds: 692, 384, 70, 55 leg-back - bounds: 232, 441, 210, 333 + bounds: 362, 164, 210, 333 + rotate: 90 leg-front - bounds: 444, 529, 258, 320 + bounds: 590, 181, 258, 320 + rotate: 90 logo-brooch - bounds: 954, 545, 16, 25 + bounds: 584, 740, 16, 25 mouth - bounds: 408, 121, 22, 6 + bounds: 631, 759, 22, 6 neck - bounds: 232, 342, 39, 56 - rotate: 90 + bounds: 597, 441, 39, 56 nose - bounds: 742, 529, 6, 7 - rotate: 90 + bounds: 556, 750, 6, 7 nose-highlight - bounds: 719, 300, 4, 4 + bounds: 166, 761, 4, 4 nose-shadow - bounds: 869, 128, 7, 8 + bounds: 778, 757, 7, 8 pupil-back - bounds: 730, 529, 10, 14 + bounds: 442, 751, 10, 14 pupil-front - bounds: 254, 21, 12, 18 + bounds: 602, 747, 12, 18 rope-back - bounds: 232, 383, 10, 492 - rotate: 90 + bounds: 2, 273, 10, 492 rope-front - bounds: 232, 383, 10, 492 - rotate: 90 + bounds: 2, 273, 10, 492 rope-front-bottom - bounds: 954, 735, 42, 65 + bounds: 895, 69, 42, 65 skirt - bounds: 2, 776, 440, 246 + bounds: 14, 325, 440, 246 + rotate: 90 sock-bow - bounds: 408, 407, 33, 32 + bounds: 253, 733, 33, 32 spine-logo-body - bounds: 879, 853, 13, 32 - rotate: 90 + bounds: 569, 733, 13, 32 star-big - bounds: 939, 141, 18, 24 - rotate: 90 + bounds: 422, 741, 18, 24 star-medium - bounds: 742, 537, 6, 8 - rotate: 90 + bounds: 1011, 757, 6, 8 star-small - bounds: 719, 378, 3, 4 - rotate: 90 + bounds: 218, 761, 3, 4 underskirt - bounds: 2, 329, 445, 228 - rotate: 90 + bounds: 212, 320, 445, 228 + rotate: 270 underskirt-back - bounds: 444, 851, 433, 171 + bounds: 434, 332, 433, 171 + rotate: 270 wing-back - bounds: 290, 129, 146, 252 + bounds: 137, 137, 146, 252 + rotate: 270 wing-front - bounds: 704, 545, 304, 248 - rotate: 90 + bounds: 718, 314, 304, 248 diff --git a/spine-android/app/src/main/assets/celestial-circus.png b/spine-android/app/src/main/assets/celestial-circus.png index a5c26ccf2..da702bb77 100644 Binary files a/spine-android/app/src/main/assets/celestial-circus.png and b/spine-android/app/src/main/assets/celestial-circus.png differ diff --git a/spine-android/app/src/main/assets/dragon-ess.skel b/spine-android/app/src/main/assets/dragon-ess.skel index 168a2f3c7..3b167f26c 100644 Binary files a/spine-android/app/src/main/assets/dragon-ess.skel and b/spine-android/app/src/main/assets/dragon-ess.skel differ diff --git a/spine-android/app/src/main/assets/dragon.atlas b/spine-android/app/src/main/assets/dragon.atlas index 47b3f3b2a..3011066fb 100644 --- a/spine-android/app/src/main/assets/dragon.atlas +++ b/spine-android/app/src/main/assets/dragon.atlas @@ -2,111 +2,108 @@ dragon.png size: 1024, 1024 filter: Linear, Linear front-toe-a - bounds: 797, 381, 29, 50 + bounds: 300, 929, 29, 50 front-toe-b - bounds: 942, 118, 56, 57 + bounds: 258, 660, 56, 57 head - bounds: 647, 81, 296, 260 - rotate: 90 + bounds: 2, 719, 296, 260 left-front-leg - bounds: 942, 250, 84, 57 + bounds: 99, 660, 84, 57 +left-wing09 + bounds: 2, 15, 264, 589 rotate: 90 -left-front-thigh - bounds: 852, 7, 84, 72 -left-wing01 - bounds: 736, 433, 264, 589 -right-rear-toe - bounds: 647, 2, 109, 77 -right-wing01 - bounds: 2, 379, 365, 643 -right-wing02 - bounds: 369, 379, 365, 643 -right-wing03 - bounds: 2, 12, 365, 643 +right-wing07 + bounds: 647, 2, 365, 643 +right-wing08 + bounds: 2, 281, 365, 643 rotate: 90 -tail03 - bounds: 758, 6, 73, 92 +right-wing09 + bounds: 354, 647, 365, 643 rotate: 90 tail04 - bounds: 942, 177, 56, 71 -tail05 - bounds: 736, 379, 52, 59 + bounds: 185, 661, 56, 71 rotate: 90 tail06 - bounds: 942, 336, 95, 68 - rotate: 90 + bounds: 2, 649, 95, 68 thiagobrayner - bounds: 909, 81, 350, 31 - rotate: 90 + bounds: 2, 981, 350, 31 dragon_2.png size: 1024, 1024 filter: Linear, Linear back - bounds: 795, 32, 190, 185 + bounds: 647, 57, 190, 185 chin - bounds: 647, 157, 214, 146 + bounds: 839, 28, 214, 146 rotate: 90 left-rear-leg - bounds: 795, 219, 206, 177 + bounds: 736, 244, 206, 177 +left-wing08 + bounds: 736, 423, 264, 589 +right-rear-toe + bounds: 944, 312, 109, 77 rotate: 90 -left-wing02 - bounds: 736, 427, 264, 589 right-wing04 - bounds: 2, 373, 365, 643 -right-wing05 - bounds: 369, 373, 365, 643 -right-wing06 - bounds: 2, 6, 365, 643 + bounds: 2, 2, 365, 643 rotate: 90 -tail01 - bounds: 647, 2, 120, 153 +right-wing05 + bounds: 369, 369, 365, 643 +right-wing06 + bounds: 2, 369, 365, 643 +tail03 + bounds: 647, 275, 73, 92 +tail05 + bounds: 944, 251, 52, 59 dragon_3.png size: 1024, 1024 filter: Linear, Linear chest - bounds: 740, 299, 136, 122 + bounds: 858, 299, 136, 122 +left-front-thigh + bounds: 647, 295, 84, 72 left-rear-thigh - bounds: 647, 218, 91, 149 -left-wing03 + bounds: 647, 117, 91, 149 +left-wing07 bounds: 736, 423, 264, 589 right-front-leg - bounds: 850, 196, 101, 89 + bounds: 647, 14, 101, 89 rotate: 90 right-front-thigh - bounds: 740, 189, 108, 108 + bounds: 740, 158, 108, 108 right-rear-leg - bounds: 878, 321, 116, 100 + bounds: 740, 46, 116, 100 right-rear-thigh - bounds: 647, 67, 91, 149 -right-wing07 - bounds: 2, 369, 365, 643 -right-wing08 - bounds: 369, 369, 365, 643 -right-wing09 + bounds: 858, 148, 91, 149 +right-wing01 bounds: 2, 2, 365, 643 rotate: 90 +right-wing02 + bounds: 369, 369, 365, 643 +right-wing03 + bounds: 2, 369, 365, 643 +tail01 + bounds: 736, 268, 120, 153 tail02 - bounds: 740, 67, 95, 120 + bounds: 858, 26, 95, 120 dragon_4.png size: 1024, 1024 filter: Linear, Linear +left-wing03 + bounds: 2, 2, 264, 589 + rotate: 90 left-wing04 - bounds: 2, 268, 264, 589 + bounds: 534, 268, 264, 589 left-wing05 bounds: 268, 268, 264, 589 left-wing06 - bounds: 534, 268, 264, 589 -left-wing07 - bounds: 2, 2, 264, 589 - rotate: 90 + bounds: 2, 268, 264, 589 dragon_5.png size: 1024, 1024 filter: Linear, Linear -left-wing08 - bounds: 2, 2, 264, 589 -left-wing09 +left-wing01 bounds: 268, 2, 264, 589 +left-wing02 + bounds: 2, 2, 264, 589 diff --git a/spine-android/app/src/main/assets/dragon.png b/spine-android/app/src/main/assets/dragon.png index 3bca338cd..23516a567 100644 Binary files a/spine-android/app/src/main/assets/dragon.png and b/spine-android/app/src/main/assets/dragon.png differ diff --git a/spine-android/app/src/main/assets/dragon_2.png b/spine-android/app/src/main/assets/dragon_2.png index 3dbe2a5a0..7a8ac8423 100644 Binary files a/spine-android/app/src/main/assets/dragon_2.png and b/spine-android/app/src/main/assets/dragon_2.png differ diff --git a/spine-android/app/src/main/assets/dragon_3.png b/spine-android/app/src/main/assets/dragon_3.png index df2896d51..5688b540c 100644 Binary files a/spine-android/app/src/main/assets/dragon_3.png and b/spine-android/app/src/main/assets/dragon_3.png differ diff --git a/spine-android/app/src/main/assets/dragon_4.png b/spine-android/app/src/main/assets/dragon_4.png index 270b0959d..ce57b7107 100644 Binary files a/spine-android/app/src/main/assets/dragon_4.png and b/spine-android/app/src/main/assets/dragon_4.png differ diff --git a/spine-android/app/src/main/assets/dragon_5.png b/spine-android/app/src/main/assets/dragon_5.png index 4e9f7a843..f73a4fe40 100644 Binary files a/spine-android/app/src/main/assets/dragon_5.png and b/spine-android/app/src/main/assets/dragon_5.png differ diff --git a/spine-android/app/src/main/assets/mix-and-match-pro.skel b/spine-android/app/src/main/assets/mix-and-match-pro.skel index afe6d4738..5479c2c6e 100644 Binary files a/spine-android/app/src/main/assets/mix-and-match-pro.skel and b/spine-android/app/src/main/assets/mix-and-match-pro.skel differ diff --git a/spine-android/app/src/main/assets/mix-and-match.atlas b/spine-android/app/src/main/assets/mix-and-match.atlas index b8047722c..2a8f1fcda 100644 --- a/spine-android/app/src/main/assets/mix-and-match.atlas +++ b/spine-android/app/src/main/assets/mix-and-match.atlas @@ -3,356 +3,348 @@ mix-and-match.png filter: Linear, Linear scale: 0.5 base-head - bounds: 118, 70, 95, 73 + bounds: 185, 123, 95, 73 boy/arm-front - bounds: 831, 311, 36, 115 + bounds: 729, 92, 36, 115 rotate: 90 boy/backpack - bounds: 249, 357, 119, 153 + bounds: 619, 218, 119, 153 boy/backpack-pocket - bounds: 628, 193, 34, 62 + bounds: 626, 4, 34, 62 rotate: 90 boy/backpack-strap-front - bounds: 330, 263, 38, 88 - rotate: 90 + bounds: 342, 26, 38, 88 + rotate: 270 boy/backpack-up - bounds: 482, 171, 21, 70 + bounds: 750, 12, 21, 70 + rotate: 90 boy/body - bounds: 845, 413, 97, 132 - rotate: 90 + bounds: 716, 125, 97, 132 + rotate: 270 boy/boot-ribbon-front - bounds: 234, 304, 9, 11 + bounds: 1012, 360, 9, 11 boy/collar - bounds: 471, 243, 73, 29 - rotate: 90 + bounds: 764, 34, 73, 29 boy/ear - bounds: 991, 352, 19, 23 - rotate: 90 + bounds: 878, 128, 19, 23 boy/eye-back-low-eyelid - bounds: 66, 72, 17, 6 + bounds: 467, 245, 17, 6 boy/eye-back-pupil - bounds: 694, 279, 8, 9 - rotate: 90 + bounds: 1012, 327, 8, 9 boy/eye-back-up-eyelid - bounds: 460, 101, 23, 5 + bounds: 180, 348, 23, 5 rotate: 90 boy/eye-back-up-eyelid-back - bounds: 979, 414, 19, 10 - rotate: 90 + bounds: 282, 255, 19, 10 boy/eye-front-low-eyelid - bounds: 1015, 203, 22, 7 - rotate: 90 + bounds: 366, 364, 22, 7 boy/eye-front-pupil - bounds: 309, 50, 9, 9 + bounds: 1012, 349, 9, 9 boy/eye-front-up-eyelid - bounds: 991, 373, 31, 6 + bounds: 155, 340, 31, 6 + rotate: 270 boy/eye-front-up-eyelid-back - bounds: 107, 76, 26, 9 - rotate: 90 + bounds: 338, 362, 26, 9 boy/eye-iris-back - bounds: 810, 260, 17, 17 + bounds: 562, 12, 17, 17 boy/eye-iris-front - bounds: 902, 230, 18, 18 + bounds: 807, 73, 18, 18 boy/eye-white-back - bounds: 599, 179, 20, 12 + bounds: 317, 359, 20, 12 boy/eye-white-front - bounds: 544, 183, 27, 13 + bounds: 499, 358, 27, 13 boy/eyebrow-back - bounds: 1002, 225, 20, 11 - rotate: 90 + bounds: 194, 360, 20, 11 boy/eyebrow-front - bounds: 975, 234, 25, 11 + bounds: 290, 360, 25, 11 boy/hair-back - bounds: 629, 289, 122, 81 + bounds: 929, 249, 122, 81 rotate: 90 boy/hair-bangs - bounds: 505, 180, 70, 37 - rotate: 90 + bounds: 2, 2, 70, 37 boy/hair-side - bounds: 979, 435, 25, 43 - rotate: 90 + bounds: 997, 237, 25, 43 boy/hand-backfingers - bounds: 858, 183, 19, 21 + bounds: 376, 15, 19, 21 boy/hand-front-fingers - bounds: 879, 183, 19, 21 + bounds: 786, 72, 19, 21 boy/hat - bounds: 218, 121, 93, 56 + bounds: 68, 89, 93, 56 boy/leg-front - bounds: 85, 104, 31, 158 + bounds: 90, 213, 31, 158 + rotate: 180 boy/mouth-close - bounds: 467, 100, 21, 5 + bounds: 187, 350, 21, 5 + rotate: 90 girl-blue-cape/mouth-close - bounds: 467, 100, 21, 5 + bounds: 187, 350, 21, 5 + rotate: 90 girl-spring-dress/mouth-close - bounds: 467, 100, 21, 5 + bounds: 187, 350, 21, 5 + rotate: 90 girl/mouth-close - bounds: 467, 100, 21, 5 + bounds: 187, 350, 21, 5 + rotate: 90 boy/mouth-smile - bounds: 1015, 258, 29, 7 + bounds: 171, 342, 29, 7 rotate: 90 boy/nose - bounds: 323, 79, 17, 10 + bounds: 1005, 225, 17, 10 boy/pompom - bounds: 979, 462, 48, 43 - rotate: 90 + bounds: 157, 40, 48, 43 boy/zip - bounds: 922, 231, 14, 23 - rotate: 90 + bounds: 883, 163, 14, 23 girl-blue-cape/back-eyebrow - bounds: 527, 106, 18, 12 - rotate: 90 + bounds: 137, 52, 18, 12 girl-blue-cape/body-dress - bounds: 2, 264, 109, 246 + bounds: 185, 262, 109, 241 + offsets: 0, 0, 109, 246 + rotate: 90 girl-blue-cape/body-ribbon - bounds: 576, 193, 50, 38 + bounds: 881, 28, 50, 38 girl-blue-cape/cape-back - bounds: 113, 317, 134, 193 + bounds: 427, 237, 134, 193 + rotate: 90 girl-blue-cape/cape-back-up - bounds: 504, 305, 123, 106 + bounds: 899, 126, 123, 106 + rotate: 180 girl-blue-cape/cape-ribbon - bounds: 396, 118, 50, 18 - rotate: 90 + bounds: 427, 353, 50, 18 girl-blue-cape/cape-shoulder-back - bounds: 420, 243, 49, 59 + bounds: 510, 3, 49, 59 + rotate: 90 girl-blue-cape/cape-shoulder-front - bounds: 2, 2, 62, 76 + bounds: 310, 51, 62, 76 + rotate: 270 girl-blue-cape/cape-up-front - bounds: 118, 145, 98, 117 + bounds: 388, 72, 98, 117 + rotate: 90 girl-blue-cape/ear - bounds: 837, 181, 19, 23 + bounds: 376, 137, 19, 23 girl-spring-dress/ear - bounds: 837, 181, 19, 23 + bounds: 376, 137, 19, 23 girl/ear - bounds: 837, 181, 19, 23 + bounds: 376, 137, 19, 23 girl-blue-cape/eye-back-low-eyelid - bounds: 810, 252, 17, 6 + bounds: 427, 345, 17, 6 girl-spring-dress/eye-back-low-eyelid - bounds: 810, 252, 17, 6 + bounds: 427, 345, 17, 6 girl/eye-back-low-eyelid - bounds: 810, 252, 17, 6 + bounds: 427, 345, 17, 6 girl-blue-cape/eye-back-pupil - bounds: 309, 40, 8, 9 - rotate: 90 + bounds: 1012, 338, 8, 9 girl-spring-dress/eye-back-pupil - bounds: 309, 40, 8, 9 - rotate: 90 + bounds: 1012, 338, 8, 9 girl/eye-back-pupil - bounds: 309, 40, 8, 9 - rotate: 90 + bounds: 1012, 338, 8, 9 girl-blue-cape/eye-back-up-eyelid - bounds: 573, 179, 24, 12 + bounds: 812, 210, 24, 12 girl-spring-dress/eye-back-up-eyelid - bounds: 573, 179, 24, 12 + bounds: 812, 210, 24, 12 girl/eye-back-up-eyelid - bounds: 573, 179, 24, 12 + bounds: 812, 210, 24, 12 girl-blue-cape/eye-back-up-eyelid-back - bounds: 380, 105, 17, 11 - rotate: 90 + bounds: 427, 254, 17, 11 girl-spring-dress/eye-back-up-eyelid-back - bounds: 380, 105, 17, 11 - rotate: 90 + bounds: 427, 254, 17, 11 girl/eye-back-up-eyelid-back - bounds: 380, 105, 17, 11 - rotate: 90 + bounds: 427, 254, 17, 11 girl-blue-cape/eye-front-low-eyelid - bounds: 1016, 353, 18, 6 - rotate: 90 + bounds: 716, 365, 18, 6 girl-spring-dress/eye-front-low-eyelid - bounds: 1016, 353, 18, 6 - rotate: 90 + bounds: 716, 365, 18, 6 girl/eye-front-low-eyelid - bounds: 1016, 353, 18, 6 - rotate: 90 + bounds: 716, 365, 18, 6 girl-blue-cape/eye-front-pupil - bounds: 363, 94, 9, 9 + bounds: 547, 362, 9, 9 girl-spring-dress/eye-front-pupil - bounds: 363, 94, 9, 9 + bounds: 547, 362, 9, 9 girl/eye-front-pupil - bounds: 363, 94, 9, 9 + bounds: 547, 362, 9, 9 girl-blue-cape/eye-front-up-eyelid - bounds: 679, 413, 30, 14 - rotate: 90 + bounds: 74, 15, 30, 14 girl-spring-dress/eye-front-up-eyelid - bounds: 679, 413, 30, 14 - rotate: 90 + bounds: 74, 15, 30, 14 girl/eye-front-up-eyelid - bounds: 679, 413, 30, 14 - rotate: 90 + bounds: 74, 15, 30, 14 girl-blue-cape/eye-front-up-eyelid-back - bounds: 947, 234, 26, 11 + bounds: 582, 149, 26, 11 girl-spring-dress/eye-front-up-eyelid-back - bounds: 947, 234, 26, 11 + bounds: 582, 149, 26, 11 girl/eye-front-up-eyelid-back - bounds: 947, 234, 26, 11 + bounds: 582, 149, 26, 11 girl-blue-cape/eye-iris-back - bounds: 323, 105, 17, 17 + bounds: 442, 34, 17, 17 girl-blue-cape/eye-iris-front - bounds: 467, 107, 18, 18 + bounds: 708, 95, 18, 18 girl-blue-cape/eye-white-back - bounds: 621, 175, 20, 16 + bounds: 984, 232, 20, 16 girl-spring-dress/eye-white-back - bounds: 621, 175, 20, 16 + bounds: 984, 232, 20, 16 girl-blue-cape/eye-white-front - bounds: 643, 175, 20, 16 + bounds: 608, 224, 20, 16 girl-spring-dress/eye-white-front - bounds: 643, 175, 20, 16 + bounds: 608, 224, 20, 16 girl/eye-white-front - bounds: 643, 175, 20, 16 + bounds: 608, 224, 20, 16 girl-blue-cape/front-eyebrow - bounds: 309, 101, 18, 12 - rotate: 90 + bounds: 424, 172, 18, 12 girl-blue-cape/hair-back - bounds: 712, 317, 117, 98 + bounds: 305, 162, 117, 98 girl-blue-cape/hair-bangs - bounds: 313, 170, 91, 40 - rotate: 90 + bounds: 694, 57, 91, 40 girl-blue-cape/hair-head-side-back - bounds: 544, 198, 30, 52 + bounds: 397, 2, 30, 52 + rotate: 90 girl-blue-cape/hair-head-side-front - bounds: 466, 127, 41, 42 + bounds: 933, 14, 41, 42 + rotate: 90 girl-blue-cape/hair-side - bounds: 175, 2, 36, 71 - rotate: 90 + bounds: 203, 11, 36, 71 + rotate: 270 girl-blue-cape/hand-front-fingers - bounds: 902, 207, 19, 21 + bounds: 694, 115, 19, 21 girl-spring-dress/hand-front-fingers - bounds: 902, 207, 19, 21 + bounds: 694, 115, 19, 21 girl-blue-cape/leg-front - bounds: 519, 413, 30, 158 - rotate: 90 + bounds: 60, 213, 30, 158 + rotate: 180 girl-blue-cape/mouth-smile - bounds: 1015, 227, 29, 7 + bounds: 162, 342, 29, 7 rotate: 90 girl-spring-dress/mouth-smile - bounds: 1015, 227, 29, 7 + bounds: 162, 342, 29, 7 rotate: 90 girl/mouth-smile - bounds: 1015, 227, 29, 7 + bounds: 162, 342, 29, 7 rotate: 90 girl-blue-cape/nose - bounds: 342, 82, 11, 7 + bounds: 558, 364, 11, 7 girl-spring-dress/nose - bounds: 342, 82, 11, 7 + bounds: 558, 364, 11, 7 girl/nose - bounds: 342, 82, 11, 7 + bounds: 558, 364, 11, 7 girl-blue-cape/sleeve-back - bounds: 416, 95, 42, 29 + bounds: 157, 9, 42, 29 girl-blue-cape/sleeve-front - bounds: 249, 303, 52, 119 - rotate: 90 + bounds: 839, 103, 52, 119 girl-spring-dress/arm-front - bounds: 829, 292, 17, 111 - rotate: 90 + bounds: 122, 260, 17, 111 girl-spring-dress/back-eyebrow - bounds: 309, 81, 18, 12 - rotate: 90 + bounds: 2, 199, 18, 12 girl-spring-dress/body-up - bounds: 66, 2, 64, 66 + bounds: 2, 79, 64, 66 girl-spring-dress/cloak-down - bounds: 758, 227, 50, 50 + bounds: 459, 18, 50, 50 + rotate: 180 girl-spring-dress/cloak-up - bounds: 628, 229, 64, 58 + bounds: 247, 50, 61, 58 + offsets: 0, 0, 64, 58 + rotate: 270 girl-spring-dress/eye-iris-back - bounds: 342, 105, 17, 17 + bounds: 875, 109, 17, 17 girl-spring-dress/eye-iris-front - bounds: 487, 107, 18, 18 + bounds: 479, 353, 18, 18 girl-spring-dress/front-eyebrow - bounds: 323, 91, 18, 12 + bounds: 893, 210, 18, 12 girl-spring-dress/hair-back - bounds: 370, 417, 147, 93 + bounds: 834, 224, 147, 93 + rotate: 90 girl-spring-dress/hair-bangs - bounds: 829, 250, 91, 40 + bounds: 914, 57, 91, 40 girl-spring-dress/hair-head-side-back - bounds: 509, 126, 30, 52 + bounds: 217, 341, 30, 52 + rotate: 90 girl-spring-dress/hair-head-side-front - bounds: 816, 206, 41, 42 + bounds: 582, 15, 41, 42 + rotate: 90 girl-spring-dress/hair-side - bounds: 248, 2, 36, 71 + bounds: 84, 14, 36, 71 rotate: 90 girl-spring-dress/leg-front - bounds: 831, 381, 30, 158 - rotate: 90 + bounds: 30, 213, 30, 158 + rotate: 180 girl-spring-dress/neck - bounds: 85, 70, 20, 32 + bounds: 283, 176, 20, 32 girl-spring-dress/shoulder-ribbon - bounds: 175, 44, 36, 24 + bounds: 207, 58, 36, 24 girl-spring-dress/skirt - bounds: 2, 80, 182, 81 - rotate: 90 + bounds: 121, 198, 182, 81 + rotate: 180 girl-spring-dress/underskirt - bounds: 519, 445, 175, 65 + bounds: 8, 147, 175, 65 girl/arm-front - bounds: 712, 279, 36, 115 + bounds: 907, 93, 36, 115 rotate: 90 girl/back-eyebrow - bounds: 309, 61, 18, 12 - rotate: 90 + bounds: 948, 236, 18, 12 girl/bag-base - bounds: 694, 219, 62, 58 + bounds: 418, 52, 62, 58 girl/bag-strap-front - bounds: 370, 304, 12, 96 - rotate: 90 + bounds: 141, 276, 12, 95 + offsets: 0, 1, 12, 96 girl/bag-top - bounds: 765, 175, 49, 50 + bounds: 841, 7, 49, 50 girl/body - bounds: 370, 318, 97, 132 - rotate: 90 + bounds: 476, 154, 97, 132 + rotate: 270 girl/boot-ribbon-front - bounds: 323, 64, 13, 13 + bounds: 968, 235, 13, 13 girl/eye-iris-back - bounds: 361, 105, 17, 17 + bounds: 929, 231, 17, 17 girl/eye-iris-front - bounds: 507, 106, 18, 18 + bounds: 270, 353, 18, 18 girl/eye-white-back - bounds: 665, 175, 20, 16 + bounds: 162, 324, 20, 16 girl/front-eyebrow - bounds: 343, 91, 18, 12 + bounds: 527, 359, 18, 12 girl/hair-back - bounds: 696, 417, 147, 93 -girl/hair-bangs - bounds: 922, 247, 91, 40 -girl/hair-flap-down-front - bounds: 415, 171, 70, 65 + bounds: 739, 224, 147, 93 rotate: 90 +girl/hair-bangs + bounds: 534, 57, 91, 40 +girl/hair-flap-down-front + bounds: 506, 31, 70, 65 + rotate: 180 girl/hair-head-side-back - bounds: 991, 381, 30, 52 + bounds: 155, 276, 30, 52 girl/hair-head-side-front - bounds: 859, 206, 41, 42 + bounds: 980, 17, 41, 42 + rotate: 90 girl/hair-patch - bounds: 132, 2, 66, 41 + bounds: 424, 186, 66, 41 rotate: 90 girl/hair-side - bounds: 692, 181, 36, 71 + bounds: 265, 17, 36, 71 rotate: 90 girl/hair-strand-back-1 - bounds: 948, 289, 58, 74 + bounds: 676, 24, 56, 74 + offsets: 2, 0, 58, 74 rotate: 90 girl/hair-strand-back-2 - bounds: 355, 170, 91, 58 - rotate: 90 + bounds: 823, 54, 90, 53 + offsets: 1, 0, 91, 58 girl/hair-strand-back-3 - bounds: 215, 40, 92, 79 + bounds: 610, 138, 92, 79 girl/hair-strand-front-1 - bounds: 234, 263, 38, 94 + bounds: 157, 83, 38, 94 rotate: 90 girl/hair-strand-front-2 - bounds: 576, 233, 70, 50 - rotate: 90 + bounds: 2, 27, 70, 50 girl/hair-strand-front-3 - bounds: 313, 124, 44, 81 - rotate: 90 + bounds: 74, 50, 44, 81 + rotate: 270 girl/hand-front-fingers - bounds: 923, 208, 19, 21 + bounds: 162, 124, 19, 21 girl/hat - bounds: 218, 179, 93, 82 + bounds: 282, 78, 93, 82 girl/leg-front - bounds: 831, 349, 30, 158 - rotate: 90 + bounds: 2, 213, 30, 158 girl/pompom - bounds: 416, 126, 48, 43 + bounds: 626, 40, 48, 43 girl/scarf - bounds: 113, 264, 119, 51 + bounds: 499, 98, 119, 51 girl/scarf-back - bounds: 502, 252, 72, 51 + bounds: 620, 85, 72, 51 girl/zip - bounds: 816, 179, 19, 25 + bounds: 455, 173, 19, 25 diff --git a/spine-android/app/src/main/assets/mix-and-match.png b/spine-android/app/src/main/assets/mix-and-match.png index 634a1e230..43cecffef 100644 Binary files a/spine-android/app/src/main/assets/mix-and-match.png and b/spine-android/app/src/main/assets/mix-and-match.png differ diff --git a/spine-android/app/src/main/assets/spineboy-pro.json b/spine-android/app/src/main/assets/spineboy-pro.json index f3ba20944..6f0a8b2ba 100644 --- a/spine-android/app/src/main/assets/spineboy-pro.json +++ b/spine-android/app/src/main/assets/spineboy-pro.json @@ -1,7 +1,7 @@ { "skeleton": { - "hash": "dr3Kr/vMgPA", - "spine": "4.2.22", + "hash": "0JYVQzyBfX0", + "spine": "4.3.29-beta", "x": -188.63, "y": -7.94, "width": 418.45, @@ -318,144 +318,219 @@ { "name": "muzzle-ring3", "bone": "muzzle-ring3", "color": "d8baffff", "blend": "additive" }, { "name": "muzzle-ring4", "bone": "muzzle-ring4", "color": "d8baffff", "blend": "additive" } ], -"ik": [ +"constraints": [ { - "name": "aim-ik", - "order": 13, - "bones": [ "rear-upper-arm" ], - "target": "crosshair", - "mix": 0 - }, - { - "name": "aim-torso-ik", - "order": 8, - "bones": [ "aim-constraint-target" ], - "target": "crosshair" + "type": "transform", + "name": "shoulder", + "bones": [ "back-shoulder" ], + "source": "front-shoulder", + "x": 40.17, + "y": -1.66, + "properties": { + "x": { + "to": { + "x": { "max": 100, "scale": 1 } + } + }, + "y": { + "to": { + "y": { "max": 100, "scale": 1 } + } + } + }, + "mixX": -1 }, { + "type": "ik", "name": "board-ik", - "order": 1, "bones": [ "hoverboard-controller" ], "target": "board-ik" }, { - "name": "front-foot-ik", - "order": 6, - "bones": [ "front-foot" ], - "target": "front-foot-target" + "type": "transform", + "name": "front-foot-board-transform", + "bones": [ "front-foot-target" ], + "source": "hoverboard-controller", + "x": -69.8, + "y": 20.7, + "properties": { + "rotate": { + "to": { + "rotate": { "max": 100, "scale": 1 } + } + }, + "x": { + "to": { + "x": { "max": 100, "scale": 1 } + } + }, + "y": { + "to": { + "y": { "max": 100, "scale": 1 } + } + }, + "scaleX": { + "to": { + "scaleX": { "scale": 1 } + } + }, + "scaleY": { + "to": { + "scaleY": { "scale": 1 } + } + }, + "shearY": { + "to": { + "shearY": { "max": 100, "scale": 1 } + } + } + }, + "mixRotate": 0, + "mixX": 0, + "mixScaleX": 0, + "mixShearY": 0 }, { + "type": "transform", + "name": "rear-foot-board-transform", + "bones": [ "rear-foot-target" ], + "source": "hoverboard-controller", + "x": 86.6, + "y": 21.3, + "properties": { + "rotate": { + "to": { + "rotate": { "max": 100, "scale": 1 } + } + }, + "x": { + "to": { + "x": { "max": 100, "scale": 1 } + } + }, + "y": { + "to": { + "y": { "max": 100, "scale": 1 } + } + }, + "scaleX": { + "to": { + "scaleX": { "scale": 1 } + } + }, + "scaleY": { + "to": { + "scaleY": { "scale": 1 } + } + }, + "shearY": { + "to": { + "shearY": { "max": 100, "scale": 1 } + } + } + }, + "mixRotate": 0, + "mixX": 0, + "mixScaleX": 0, + "mixShearY": 0 + }, + { + "type": "ik", "name": "front-leg-ik", - "order": 4, "bones": [ "front-thigh", "front-shin" ], "target": "front-leg-target", "bendPositive": false }, { + "type": "ik", + "name": "rear-leg-ik", + "bones": [ "rear-thigh", "rear-shin" ], + "target": "rear-leg-target", + "bendPositive": false + }, + { + "type": "ik", + "name": "front-foot-ik", + "bones": [ "front-foot" ], + "target": "front-foot-target" + }, + { + "type": "ik", "name": "rear-foot-ik", - "order": 7, "bones": [ "rear-foot" ], "target": "rear-foot-target" }, { - "name": "rear-leg-ik", - "order": 5, - "bones": [ "rear-thigh", "rear-shin" ], - "target": "rear-leg-target", - "bendPositive": false - } -], -"transform": [ - { - "name": "aim-front-arm-transform", - "order": 11, - "bones": [ "front-upper-arm" ], - "target": "aim-constraint-target", - "rotation": -180, - "mixRotate": 0, - "mixX": 0, - "mixScaleX": 0, - "mixShearY": 0 - }, - { - "name": "aim-head-transform", - "order": 10, - "bones": [ "head" ], - "target": "aim-constraint-target", - "rotation": 84.3, - "mixRotate": 0, - "mixX": 0, - "mixScaleX": 0, - "mixShearY": 0 - }, - { - "name": "aim-rear-arm-transform", - "order": 12, - "bones": [ "rear-upper-arm" ], - "target": "aim-constraint-target", - "x": 57.7, - "y": 56.4, - "mixRotate": 0, - "mixX": 0, - "mixScaleX": 0, - "mixShearY": 0 + "type": "ik", + "name": "aim-torso-ik", + "bones": [ "aim-constraint-target" ], + "target": "crosshair" }, { + "type": "transform", "name": "aim-torso-transform", - "order": 9, "bones": [ "torso" ], - "target": "aim-constraint-target", + "source": "aim-constraint-target", "rotation": 69.5, - "shearY": -36, - "mixRotate": 0, - "mixX": 0, - "mixScaleX": 0, - "mixShearY": 0 + "properties": { + "rotate": { + "to": { + "rotate": { "max": 100, "scale": 1 } + } + } + }, + "mixRotate": 0 }, { - "name": "front-foot-board-transform", - "order": 2, - "bones": [ "front-foot-target" ], - "target": "hoverboard-controller", - "x": -69.8, - "y": 20.7, - "mixRotate": 0, - "mixX": 0, - "mixScaleX": 0, - "mixShearY": 0 + "type": "transform", + "name": "aim-head-transform", + "bones": [ "head" ], + "source": "aim-constraint-target", + "rotation": 84.3, + "properties": { + "rotate": { + "to": { + "rotate": { "max": 100, "scale": 1 } + } + } + }, + "mixRotate": 0 }, { - "name": "rear-foot-board-transform", - "order": 3, - "bones": [ "rear-foot-target" ], - "target": "hoverboard-controller", - "x": 86.6, - "y": 21.3, - "mixRotate": 0, - "mixX": 0, - "mixScaleX": 0, - "mixShearY": 0 + "type": "transform", + "name": "aim-front-arm-transform", + "bones": [ "front-upper-arm" ], + "source": "aim-constraint-target", + "rotation": -180, + "properties": { + "rotate": { + "to": { + "rotate": { "max": 100, "scale": 1 } + } + } + }, + "mixRotate": 0 }, { - "name": "shoulder", - "bones": [ "back-shoulder" ], - "target": "front-shoulder", - "x": 40.17, - "y": -1.66, - "mixRotate": 0, - "mixX": -1, - "mixScaleX": 0, - "mixShearY": 0 + "type": "ik", + "name": "aim-ik", + "bones": [ "rear-upper-arm" ], + "target": "crosshair", + "mix": 0 }, { + "type": "transform", "name": "toes-board", - "order": 14, "bones": [ "front-foot-tip", "back-foot-tip" ], - "target": "hoverboard-controller", - "mixRotate": 0, - "mixX": 0, - "mixScaleX": 0, - "mixShearY": 0 + "source": "hoverboard-controller", + "properties": { + "rotate": { + "to": { + "rotate": { "max": 100, "scale": 1 } + } + } + }, + "mixRotate": 0 } ], "skins": [ @@ -466,8 +541,8 @@ "clipping": { "type": "clipping", "end": "head-bb", - "vertexCount": 9, - "vertices": [ 66.76, 509.48, 19.98, 434.54, 5.34, 336.28, 22.19, 247.93, 77.98, 159.54, 182.21, -97.56, 1452.26, -99.8, 1454.33, 843.61, 166.57, 841.02 ], + "vertexCount": 3, + "vertices": [ 18.89, -228.46, 1471.52, 140.96, 34.01, 930.06 ], "color": "ce3a3aff" } }, @@ -877,13 +952,13 @@ }, "transform": { "aim-front-arm-transform": [ - { "mixRotate": 0.784, "mixX": 0, "mixScaleX": 0, "mixShearY": 0 } + { "mixRotate": 0.784 } ], "aim-head-transform": [ - { "mixRotate": 0.659, "mixX": 0, "mixScaleX": 0, "mixShearY": 0 } + { "mixRotate": 0.659 } ], "aim-torso-transform": [ - { "mixRotate": 0.423, "mixX": 0, "mixScaleX": 0, "mixShearY": 0 } + { "mixRotate": 0.423 } ] } }, @@ -3486,13 +3561,13 @@ }, "transform": { "front-foot-board-transform": [ - { "mixRotate": 0.997 } + { "mixRotate": 0.997, "mixX": 1, "mixScaleX": 1, "mixShearY": 1 } ], "rear-foot-board-transform": [ - {} + { "mixRotate": 1, "mixX": 1, "mixScaleX": 1, "mixShearY": 1 } ], "toes-board": [ - { "mixX": 0, "mixScaleX": 0, "mixShearY": 0 } + { "mixRotate": 1 } ] }, "attachments": { diff --git a/spine-android/app/src/main/assets/spineboy-pro.skel b/spine-android/app/src/main/assets/spineboy-pro.skel index 09e564b7e..3d4acddc2 100644 Binary files a/spine-android/app/src/main/assets/spineboy-pro.skel and b/spine-android/app/src/main/assets/spineboy-pro.skel differ diff --git a/spine-android/app/src/main/assets/spineboy.atlas b/spine-android/app/src/main/assets/spineboy.atlas index eca542b71..9243fa20a 100644 --- a/spine-android/app/src/main/assets/spineboy.atlas +++ b/spine-android/app/src/main/assets/spineboy.atlas @@ -3,92 +3,96 @@ spineboy.png filter: Linear, Linear scale: 0.5 crosshair - bounds: 352, 7, 45, 45 + bounds: 263, 11, 45, 45 eye-indifferent - bounds: 862, 105, 47, 45 + bounds: 214, 11, 47, 45 eye-surprised - bounds: 505, 79, 47, 45 + bounds: 965, 33, 47, 45 + rotate: 90 front-bracer - bounds: 826, 66, 29, 40 + bounds: 2, 5, 29, 40 + rotate: 90 front-fist-closed - bounds: 786, 65, 38, 41 + bounds: 505, 3, 38, 41 + rotate: 90 front-fist-open - bounds: 710, 51, 43, 44 + bounds: 790, 9, 43, 44 rotate: 90 front-foot - bounds: 210, 6, 63, 35 + bounds: 149, 21, 63, 35 front-shin - bounds: 665, 128, 41, 92 + bounds: 505, 43, 41, 92 rotate: 90 front-thigh - bounds: 2, 2, 23, 56 + bounds: 359, 14, 23, 56 rotate: 90 front-upper-arm - bounds: 250, 205, 23, 49 + bounds: 955, 8, 23, 49 + rotate: 90 goggles - bounds: 665, 171, 131, 83 + bounds: 180, 58, 131, 83 gun - bounds: 798, 152, 105, 102 + bounds: 313, 39, 105, 102 head - bounds: 2, 27, 136, 149 + bounds: 29, 83, 136, 149 + rotate: 90 hoverboard-board - bounds: 2, 178, 246, 76 + bounds: 180, 143, 246, 76 hoverboard-thruster - bounds: 722, 96, 30, 32 - rotate: 90 + bounds: 790, 57, 30, 32 hoverglow-small - bounds: 275, 81, 137, 38 + bounds: 826, 54, 137, 38 mouth-grind - bounds: 614, 97, 47, 30 + bounds: 707, 8, 47, 30 mouth-oooo - bounds: 612, 65, 47, 30 + bounds: 658, 8, 47, 30 mouth-smile - bounds: 661, 64, 47, 30 + bounds: 548, 11, 47, 30 muzzle-glow - bounds: 382, 54, 25, 25 + bounds: 997, 194, 25, 25 muzzle-ring - bounds: 275, 54, 25, 105 - rotate: 90 + bounds: 2, 114, 25, 105 muzzle01 - bounds: 911, 95, 67, 40 + bounds: 965, 82, 67, 40 rotate: 90 muzzle02 - bounds: 792, 108, 68, 42 + bounds: 953, 151, 68, 42 + rotate: 90 muzzle03 - bounds: 956, 171, 83, 53 - rotate: 90 + bounds: 420, 31, 83, 53 muzzle04 - bounds: 275, 7, 75, 45 + bounds: 2, 36, 75, 45 muzzle05 - bounds: 140, 3, 68, 38 + bounds: 79, 43, 68, 38 neck - bounds: 250, 182, 18, 21 + bounds: 997, 171, 18, 21 portal-bg - bounds: 140, 43, 133, 133 + bounds: 563, 86, 133, 133 portal-flare1 - bounds: 554, 65, 56, 30 + bounds: 79, 11, 56, 30 portal-flare2 - bounds: 759, 112, 57, 31 - rotate: 90 + bounds: 836, 21, 57, 31 portal-flare3 - bounds: 554, 97, 58, 30 + bounds: 895, 22, 58, 30 portal-shade - bounds: 275, 121, 133, 133 + bounds: 428, 86, 133, 133 portal-streaks1 - bounds: 410, 126, 126, 128 + bounds: 698, 91, 126, 128 portal-streaks2 - bounds: 538, 129, 125, 125 + bounds: 826, 94, 125, 125 rear-bracer - bounds: 857, 67, 28, 36 + bounds: 756, 2, 28, 36 rear-foot - bounds: 663, 96, 57, 30 + bounds: 599, 14, 57, 30 rear-shin - bounds: 414, 86, 38, 89 + bounds: 599, 46, 38, 89 rotate: 90 rear-thigh - bounds: 756, 63, 28, 47 + bounds: 310, 9, 28, 47 + rotate: 90 rear-upper-arm - bounds: 60, 5, 20, 44 + bounds: 417, 9, 20, 44 rotate: 90 torso - bounds: 905, 164, 49, 90 + bounds: 698, 40, 49, 90 + rotate: 90 diff --git a/spine-android/app/src/main/assets/spineboy.png b/spine-android/app/src/main/assets/spineboy.png index 0ea9737f3..2e3d2b97d 100644 Binary files a/spine-android/app/src/main/assets/spineboy.png and b/spine-android/app/src/main/assets/spineboy.png differ diff --git a/spine-android/app/src/main/java/com/esotericsoftware/spine/AnimationStateEvents.kt b/spine-android/app/src/main/java/com/esotericsoftware/spine/AnimationStateEvents.kt index 20fbf738d..93fd93e4e 100644 --- a/spine-android/app/src/main/java/com/esotericsoftware/spine/AnimationStateEvents.kt +++ b/spine-android/app/src/main/java/com/esotericsoftware/spine/AnimationStateEvents.kt @@ -62,7 +62,7 @@ fun AnimationState(nav: NavHostController) { controller.skeleton.setScaleX(0.5f) controller.skeleton.setScaleY(0.5f) - controller.skeleton.findSlot("gun")?.color?.set(Color(1f, 0f, 0f, 1f)) + controller.skeleton.findSlot("gun")?.appliedPose?.color?.set(Color(1f, 0f, 0f, 1f)) controller.animationStateData.setDefaultMix(0.2f) controller.animationState.setAnimation(0, "walk", true).setListener(object : AnimationState.AnimationStateListener { diff --git a/spine-android/app/src/main/java/com/esotericsoftware/spine/DressUp.kt b/spine-android/app/src/main/java/com/esotericsoftware/spine/DressUp.kt index 9064c8e73..18d4eb7ce 100644 --- a/spine-android/app/src/main/java/com/esotericsoftware/spine/DressUp.kt +++ b/spine-android/app/src/main/java/com/esotericsoftware/spine/DressUp.kt @@ -128,7 +128,7 @@ fun DressUp(nav: NavHostController) { if (customSkinValue != null) { drawable.skeleton.setSkin(customSkinValue) } - drawable.skeleton.setSlotsToSetupPose() + drawable.skeleton.setupPoseSlots() } val localDensity = LocalDensity.current @@ -138,9 +138,9 @@ fun DressUp(nav: NavHostController) { if (skin.getName() == "default") continue val skeleton = drawable.skeleton skeleton.setSkin(skin) - skeleton.setToSetupPose() + skeleton.setupPose() skeleton.update(0f) - skeleton.updateWorldTransform(Skeleton.Physics.update) + skeleton.updateWorldTransform(Physics.update) skinImages[skin.getName()] = renderer.renderToBitmap( with(localDensity) { thumbnailSize.dp.toPx() }, with(localDensity) { thumbnailSize.dp.toPx() }, diff --git a/spine-android/app/src/main/java/com/esotericsoftware/spine/IKFollowing.kt b/spine-android/app/src/main/java/com/esotericsoftware/spine/IKFollowing.kt index 0c2d3da86..ff655feab 100644 --- a/spine-android/app/src/main/java/com/esotericsoftware/spine/IKFollowing.kt +++ b/spine-android/app/src/main/java/com/esotericsoftware/spine/IKFollowing.kt @@ -74,9 +74,9 @@ fun IKFollowing(nav: NavHostController) { val skeleton = it.skeleton val bone = skeleton.findBone("crosshair") ?: return@setOnAfterUpdateWorldTransforms val parent = bone.parent ?: return@setOnAfterUpdateWorldTransforms - val position = parent.worldToLocal(Vector2(worldPosition.x.toFloat(), worldPosition.y.toFloat())) - bone.x = position.x - bone.y = position.y + val position = parent.appliedPose.worldToLocal(Vector2(worldPosition.x.toFloat(), worldPosition.y.toFloat())) + bone.appliedPose.x = position.x + bone.appliedPose.y = position.y } .build() } diff --git a/spine-android/spine-android/src/main/java/com/esotericsoftware/spine/android/AndroidSkeletonDrawable.java b/spine-android/spine-android/src/main/java/com/esotericsoftware/spine/android/AndroidSkeletonDrawable.java index fb07971ee..4cc31044d 100644 --- a/spine-android/spine-android/src/main/java/com/esotericsoftware/spine/android/AndroidSkeletonDrawable.java +++ b/spine-android/spine-android/src/main/java/com/esotericsoftware/spine/android/AndroidSkeletonDrawable.java @@ -41,6 +41,7 @@ import com.badlogic.gdx.utils.FloatArray; import com.esotericsoftware.spine.Animation; import com.esotericsoftware.spine.AnimationState; import com.esotericsoftware.spine.AnimationStateData; +import com.esotericsoftware.spine.Physics; import com.esotericsoftware.spine.Skeleton; import com.esotericsoftware.spine.SkeletonData; import com.esotericsoftware.spine.android.utils.SkeletonDataUtils; @@ -90,7 +91,7 @@ public class AndroidSkeletonDrawable { animationStateData = new AnimationStateData(skeletonData); animationState = new AnimationState(animationStateData); - skeleton.updateWorldTransform(Skeleton.Physics.none); + skeleton.updateWorldTransform(Physics.none); } /** Updates the {@link AnimationState} using the {@code delta} time given in seconds, applies the animation state to the @@ -100,7 +101,7 @@ public class AndroidSkeletonDrawable { animationState.apply(skeleton); skeleton.update(delta); - skeleton.updateWorldTransform(Skeleton.Physics.update); + skeleton.updateWorldTransform(Physics.update); } /** Get the {@link AndroidTextureAtlas} */ diff --git a/spine-android/spine-android/src/main/java/com/esotericsoftware/spine/android/DebugRenderer.java b/spine-android/spine-android/src/main/java/com/esotericsoftware/spine/android/DebugRenderer.java index aeaafda71..8ff2bc05d 100644 --- a/spine-android/spine-android/src/main/java/com/esotericsoftware/spine/android/DebugRenderer.java +++ b/spine-android/spine-android/src/main/java/com/esotericsoftware/spine/android/DebugRenderer.java @@ -46,8 +46,8 @@ public class DebugRenderer { bonePaint.setStyle(Paint.Style.FILL); for (Bone bone : drawable.getSkeleton().getBones()) { - float x = bone.getWorldX(); - float y = bone.getWorldY(); + float x = bone.getAppliedPose().getWorldX(); + float y = bone.getAppliedPose().getWorldY(); canvas.drawRect(new RectF(x - 2.5f, y - 2.5f, x + 2.5f, y + 2.5f), bonePaint); } } diff --git a/spine-android/spine-android/src/main/java/com/esotericsoftware/spine/android/SkeletonRenderer.java b/spine-android/spine-android/src/main/java/com/esotericsoftware/spine/android/SkeletonRenderer.java index e44709d4b..a0b986a34 100644 --- a/spine-android/spine-android/src/main/java/com/esotericsoftware/spine/android/SkeletonRenderer.java +++ b/spine-android/spine-android/src/main/java/com/esotericsoftware/spine/android/SkeletonRenderer.java @@ -39,6 +39,7 @@ import com.badlogic.gdx.utils.ShortArray; import com.esotericsoftware.spine.BlendMode; import com.esotericsoftware.spine.Skeleton; import com.esotericsoftware.spine.Slot; +import com.esotericsoftware.spine.SlotPose; import com.esotericsoftware.spine.attachments.Attachment; import com.esotericsoftware.spine.attachments.ClippingAttachment; import com.esotericsoftware.spine.attachments.MeshAttachment; @@ -110,7 +111,8 @@ public class SkeletonRenderer { int vertexSize = 2; float[] uvs = null; short[] indices = null; - Attachment attachment = slot.getAttachment(); + SlotPose pose = slot.getAppliedPose(); + Attachment attachment = pose.getAttachment(); if (attachment == null) { clipper.clipEnd(slot); continue; @@ -119,7 +121,7 @@ public class SkeletonRenderer { if (attachment instanceof RegionAttachment) { RegionAttachment region = (RegionAttachment)attachment; verticesLength = vertexSize << 2; - if (region.getSequence() != null) region.getSequence().apply(slot, region); + if (region.getSequence() != null) region.getSequence().apply(pose, region); AndroidTexture texture = (AndroidTexture)region.getRegion().getTexture(); BlendMode blendMode = slot.getData().getBlendMode(); if (command.blendMode == null && command.texture == null) { @@ -143,7 +145,7 @@ public class SkeletonRenderer { } else if (attachment instanceof MeshAttachment) { MeshAttachment mesh = (MeshAttachment)attachment; verticesLength = mesh.getWorldVerticesLength(); - if (mesh.getSequence() != null) mesh.getSequence().apply(slot, mesh); + if (mesh.getSequence() != null) mesh.getSequence().apply(pose, mesh); AndroidTexture texture = (AndroidTexture)mesh.getRegion().getTexture(); BlendMode blendMode = slot.getData().getBlendMode(); @@ -161,19 +163,19 @@ public class SkeletonRenderer { } command.vertices.setSize(command.vertices.size + verticesLength); - mesh.computeWorldVertices(slot, 0, verticesLength, command.vertices.items, vertexStart, vertexSize); + mesh.computeWorldVertices(skeleton, slot, 0, verticesLength, command.vertices.items, vertexStart, vertexSize); uvs = mesh.getUVs(); indices = mesh.getTriangles(); color = mesh.getColor(); } else if (attachment instanceof ClippingAttachment) { ClippingAttachment clip = (ClippingAttachment)attachment; - clipper.clipStart(slot, clip); + clipper.clipStart(skeleton, slot, clip); continue; } else { continue; } - Color slotColor = slot.getColor(); + Color slotColor = pose.getColor(); int c = (int)(a * slotColor.a * color.a * 255) << 24 // | (int)(r * slotColor.r * color.r * 255) << 16 // | (int)(g * slotColor.g * color.g * 255) << 8 // diff --git a/spine-android/spine-android/src/main/java/com/esotericsoftware/spine/android/bounds/SkinAndAnimationBounds.java b/spine-android/spine-android/src/main/java/com/esotericsoftware/spine/android/bounds/SkinAndAnimationBounds.java index 64945dd2a..084b0196e 100644 --- a/spine-android/spine-android/src/main/java/com/esotericsoftware/spine/android/bounds/SkinAndAnimationBounds.java +++ b/spine-android/spine-android/src/main/java/com/esotericsoftware/spine/android/bounds/SkinAndAnimationBounds.java @@ -75,7 +75,7 @@ public class SkinAndAnimationBounds implements BoundsProvider { customSkin.addSkin(skin); } drawable.getSkeleton().setSkin(customSkin); - drawable.getSkeleton().setToSetupPose(); + drawable.getSkeleton().setupPose(); Animation animation = (this.animation != null) ? data.findAnimation(this.animation) : null; double minX = Double.POSITIVE_INFINITY; @@ -104,7 +104,7 @@ public class SkinAndAnimationBounds implements BoundsProvider { drawable.getSkeleton().setSkin("default"); drawable.getAnimationState().clearTracks(); if (oldSkin != null) drawable.getSkeleton().setSkin(oldSkin); - drawable.getSkeleton().setToSetupPose(); + drawable.getSkeleton().setupPose(); drawable.update(0); return new Bounds(minX, minY, maxX - minX, maxY - minY); }