Merge branch '4.1' into 4.2-beta

This commit is contained in:
Mario Zechner 2022-10-28 10:40:54 +02:00
commit 42bce02619
5 changed files with 35 additions and 32 deletions

View File

@ -2016,7 +2016,7 @@ void _spSequenceTimeline_apply(spTimeline *timeline, spSkeleton *skeleton, float
slotAttachment = slot->attachment; slotAttachment = slot->attachment;
if (slotAttachment != self->attachment) { if (slotAttachment != self->attachment) {
if (slotAttachment == NULL) return; if (slotAttachment == NULL) return;
switch (slotAttachment->type) { switch (slotAttachment->type) {
case SP_ATTACHMENT_BOUNDING_BOX: case SP_ATTACHMENT_BOUNDING_BOX:
case SP_ATTACHMENT_CLIPPING: case SP_ATTACHMENT_CLIPPING:

View File

@ -174,7 +174,7 @@ SkeletonData *SkeletonBinary::readSkeletonData(const unsigned char *binary, cons
SlotData *slotData = new (__FILE__, __LINE__) SlotData(i, String(slotName, true), *boneData); SlotData *slotData = new (__FILE__, __LINE__) SlotData(i, String(slotName, true), *boneData);
readColor(input, slotData->getColor()); readColor(input, slotData->getColor());
unsigned char a = readByte(input); unsigned char a = readByte(input);
unsigned char r = readByte(input); unsigned char r = readByte(input);
unsigned char g = readByte(input); unsigned char g = readByte(input);
unsigned char b = readByte(input); unsigned char b = readByte(input);

View File

@ -64,7 +64,7 @@ private:
spine::Skeleton *skeleton; spine::Skeleton *skeleton;
SpineSprite *sprite; SpineSprite *sprite;
spine::Vector<float> bounds_vertex_buffer; spine::Vector<float> bounds_vertex_buffer;
Ref<SpineSkin> last_skin; Ref<SpineSkin> last_skin;
public: public:
SpineSkeleton(); SpineSkeleton();

View File

@ -38,41 +38,41 @@ using namespace spine;
DebugExtension dbgExtension(SpineExtension::getInstance()); DebugExtension dbgExtension(SpineExtension::getInstance());
void test() { void test() {
SFMLTextureLoader textureLoader; SFMLTextureLoader textureLoader;
Atlas atlas("data/bomb.atlas", &textureLoader); Atlas atlas("data/bomb.atlas", &textureLoader);
SkeletonBinary loader(&atlas); SkeletonBinary loader(&atlas);
SkeletonData *skeletonData = loader.readSkeletonDataFile("data/bomb.skel"); SkeletonData *skeletonData = loader.readSkeletonDataFile("data/bomb.skel");
SkeletonDrawable drawable(skeletonData); SkeletonDrawable drawable(skeletonData);
drawable.setUsePremultipliedAlpha(true); drawable.setUsePremultipliedAlpha(true);
drawable.skeleton->setPosition(320, 590); drawable.skeleton->setPosition(320, 590);
drawable.state->setAnimation(0, "expl", false); drawable.state->setAnimation(0, "expl", false);
drawable.skeleton->setSkin("mdl"); drawable.skeleton->setSkin("mdl");
sf::RenderWindow window(sf::VideoMode(640, 640), "Spine SFML - Test"); sf::RenderWindow window(sf::VideoMode(640, 640), "Spine SFML - Test");
window.setFramerateLimit(60); window.setFramerateLimit(60);
sf::Event event; sf::Event event;
sf::Clock deltaClock; sf::Clock deltaClock;
while (window.isOpen()) { while (window.isOpen()) {
while (window.pollEvent(event)) while (window.pollEvent(event))
if (event.type == sf::Event::Closed) window.close(); if (event.type == sf::Event::Closed) window.close();
float delta = deltaClock.getElapsedTime().asSeconds(); float delta = deltaClock.getElapsedTime().asSeconds();
deltaClock.restart(); deltaClock.restart();
drawable.update(delta); drawable.update(delta);
window.clear(); window.clear();
window.draw(drawable); window.draw(drawable);
window.display(); window.display();
} }
delete skeletonData; delete skeletonData;
} }
int main() { int main() {
SpineExtension::setInstance(&dbgExtension); SpineExtension::setInstance(&dbgExtension);
test(); test();
dbgExtension.reportLeaks(); dbgExtension.reportLeaks();
return 0; return 0;
} }

View File

@ -53,7 +53,10 @@ public:
UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = Spine) UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = Spine)
USpineSkeletonDataAsset *SkeletonData; USpineSkeletonDataAsset *SkeletonData;
spine::Skeleton *GetSkeleton() { CheckState(); return skeleton; }; spine::Skeleton *GetSkeleton() {
CheckState();
return skeleton;
};
UFUNCTION(BlueprintPure, Category = "Components|Spine|Skeleton") UFUNCTION(BlueprintPure, Category = "Components|Spine|Skeleton")
void GetSkins(TArray<FString> &Skins); void GetSkins(TArray<FString> &Skins);