From 8de7a669205de03ddb21f493e4db938a767120ec Mon Sep 17 00:00:00 2001 From: badlogic Date: Fri, 28 Sep 2018 14:54:38 +0200 Subject: [PATCH] [cpp][ue4] Attempted fix for linker errors in UE4. --- spine-cpp/spine-cpp/include/spine/Atlas.h | 18 +++--------------- .../spine-cpp/include/spine/SpineObject.h | 4 +++- spine-ue4/Source/SpineUE4/SpineboyCppPawn.cpp | 9 +++++++-- 3 files changed, 13 insertions(+), 18 deletions(-) diff --git a/spine-cpp/spine-cpp/include/spine/Atlas.h b/spine-cpp/spine-cpp/include/spine/Atlas.h index 243f02b36..915697d99 100644 --- a/spine-cpp/spine-cpp/include/spine/Atlas.h +++ b/spine-cpp/spine-cpp/include/spine/Atlas.h @@ -65,11 +65,7 @@ enum TextureWrap { TextureWrap_Repeat }; -class -#ifdef SPINE_UE4 - SPINEPLUGIN_API -#endif -AtlasPage : public SpineObject, public HasRendererObject { +class AtlasPage : public SpineObject, public HasRendererObject { public: String name; Format format; @@ -87,11 +83,7 @@ public: virtual ~AtlasPage() { } }; -class -#ifdef SPINE_UE4 - SPINEPLUGIN_API -#endif -AtlasRegion : public SpineObject { +class AtlasRegion : public SpineObject { public: AtlasPage *page; String name; @@ -107,11 +99,7 @@ public: class TextureLoader; -class -#ifdef SPINE_UE4 - SPINEPLUGIN_API -#endif -Atlas : public SpineObject { +class Atlas : public SpineObject { public: Atlas(const String &path, TextureLoader *textureLoader); diff --git a/spine-cpp/spine-cpp/include/spine/SpineObject.h b/spine-cpp/spine-cpp/include/spine/SpineObject.h index 3767d1887..20ba68ddc 100644 --- a/spine-cpp/spine-cpp/include/spine/SpineObject.h +++ b/spine-cpp/spine-cpp/include/spine/SpineObject.h @@ -34,10 +34,12 @@ #include #include +#include + namespace spine { class String; -class SpineObject { +class SP_API SpineObject { public: void *operator new(size_t sz); diff --git a/spine-ue4/Source/SpineUE4/SpineboyCppPawn.cpp b/spine-ue4/Source/SpineUE4/SpineboyCppPawn.cpp index 21a03a504..517547600 100644 --- a/spine-ue4/Source/SpineUE4/SpineboyCppPawn.cpp +++ b/spine-ue4/Source/SpineUE4/SpineboyCppPawn.cpp @@ -17,7 +17,7 @@ ASpineboyCppPawn::ASpineboyCppPawn() void ASpineboyCppPawn::BeginPlay() { Super::BeginPlay(); - USpineSkeletonAnimationComponent* animation = FindComponentByClass(); + USpineSkeletonAnimationComponent* animation = FindComponentByClass(); animation->SetAnimation(0, FString("walk"), true); } @@ -25,7 +25,12 @@ void ASpineboyCppPawn::BeginPlay() void ASpineboyCppPawn::Tick(float DeltaTime) { Super::Tick(DeltaTime); - + USpineSkeletonAnimationComponent* animation = FindComponentByClass(); + spine::AnimationState *state = animation->GetAnimationState(); + spine::TrackEntry *entry = state->getCurrent(0); + if (entry) { + GEngine->AddOnScreenDebugMessage(-1, 0.5f, FColor::Yellow, FString(entry->getAnimation()->getName().buffer())); + } } // Called to bind functionality to input