Skip to content

Commit

Permalink
move ZwoptexTest to SpriteTest (better add it to the SpriteTest secti…
Browse files Browse the repository at this point in the history
…on as removing) (axmolengine#2180)

* move/delete stuff

* Update CMakeLists.txt
  • Loading branch information
aismann authored Sep 24, 2024
1 parent bf4ef2f commit 2bf320e
Show file tree
Hide file tree
Showing 6 changed files with 144 additions and 211 deletions.
2 changes: 0 additions & 2 deletions tests/cpp-tests/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -130,7 +130,6 @@ list(APPEND GAME_HEADER
Source/ActionsEaseTest/ActionsEaseTest.h
Source/ParallaxTest/ParallaxTest.h
Source/testBasic.h
Source/ZwoptexTest/ZwoptexTest.h
Source/CurlTest/CurlTest.h
Source/ConfigurationTest/ConfigurationTest.h
Source/CurrentLanguageTest/CurrentLanguageTest.h
Expand Down Expand Up @@ -364,7 +363,6 @@ list(APPEND GAME_SOURCE
Source/ImGuiTest/ImGuiTest.cpp
Source/VisibleRect.cpp
Source/VibrateTest/VibrateTest.cpp
Source/ZwoptexTest/ZwoptexTest.cpp
Source/SpriteFrameCacheTest/SpriteFrameCacheTest.cpp
Source/controller.cpp
Source/ZipTest/ZipTests.cpp
Expand Down
119 changes: 119 additions & 0 deletions tests/cpp-tests/Source/SpriteTest/SpriteTest.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -142,6 +142,7 @@ SpriteTests::SpriteTests()
ADD_TEST_CASE(SpriteWithImageDataTest1);
ADD_TEST_CASE(SpriteWithImageDataTest2);
ADD_TEST_CASE(SpriteWithImageDataTest3);
ADD_TEST_CASE(ZwoptexGenericTest);
};

//------------------------------------------------------------------
Expand Down Expand Up @@ -5975,3 +5976,121 @@ std::string SpriteWithImageDataTest3::subtitle() const
{
return "no sprite due to empty key";
}

//------------------------------------------------------------------
//
// ZwoptexGenericTest
//
//------------------------------------------------------------------
void ZwoptexGenericTest::onEnter()
{
ZwoptexTest::onEnter();

auto s = Director::getInstance()->getWinSize();

SpriteFrameCache::getInstance()->addSpriteFramesWithFile("zwoptex/grossini.plist");
SpriteFrameCache::getInstance()->addSpriteFramesWithFile("zwoptex/grossini-generic.plist");

auto layer1 = LayerColor::create(Color4B(255, 0, 0, 255), 85, 121);
layer1->setPosition(Vec2(s.width / 2 - 80 - (85.0f * 0.5f), s.height / 2 - (121.0f * 0.5f)));
addChild(layer1);

sprite1 =
Sprite::createWithSpriteFrame(SpriteFrameCache::getInstance()->getSpriteFrameByName("grossini_dance_01.png"));
sprite1->setPosition(Vec2(s.width / 2 - 80, s.height / 2));
addChild(sprite1);

sprite1->setFlippedX(false);
sprite1->setFlippedY(false);

auto layer2 = LayerColor::create(Color4B(255, 0, 0, 255), 85, 121);
layer2->setPosition(Vec2(s.width / 2 + 80 - (85.0f * 0.5f), s.height / 2 - (121.0f * 0.5f)));
addChild(layer2);

sprite2 = Sprite::createWithSpriteFrame(
SpriteFrameCache::getInstance()->getSpriteFrameByName("grossini_dance_generic_01.png"));
sprite2->setPosition(Vec2(s.width / 2 + 80, s.height / 2));
addChild(sprite2);

sprite2->setFlippedX(false);
sprite2->setFlippedY(false);

schedule(AX_SCHEDULE_SELECTOR(ZwoptexGenericTest::startIn05Secs), 1.0f);

sprite1->retain();
sprite2->retain();

counter = 0;
}

void ZwoptexGenericTest::startIn05Secs(float dt)
{
unschedule(AX_SCHEDULE_SELECTOR(ZwoptexGenericTest::startIn05Secs));
schedule(AX_SCHEDULE_SELECTOR(ZwoptexGenericTest::flipSprites), 0.5f);
}

static int spriteFrameIndex = 0;
void ZwoptexGenericTest::flipSprites(float dt)
{
counter++;

bool fx = false;
bool fy = false;
int i = counter % 4;

switch (i)
{
case 0:
fx = false;
fy = false;
break;
case 1:
fx = true;
fy = false;
break;
case 2:
fx = false;
fy = true;
break;
case 3:
fx = true;
fy = true;
break;
}

sprite1->setFlippedX(fx);
sprite2->setFlippedX(fx);
sprite1->setFlippedY(fy);
sprite2->setFlippedY(fy);

if (++spriteFrameIndex > 14)
{
spriteFrameIndex = 1;
}

char str1[32] = {0};
char str2[32] = {0};
sprintf(str1, "grossini_dance_%02d.png", spriteFrameIndex);
sprintf(str2, "grossini_dance_generic_%02d.png", spriteFrameIndex);
sprite1->setSpriteFrame(SpriteFrameCache::getInstance()->getSpriteFrameByName(str1));
sprite2->setSpriteFrame(SpriteFrameCache::getInstance()->getSpriteFrameByName(str2));
}

ZwoptexGenericTest::~ZwoptexGenericTest()
{
sprite1->release();
sprite2->release();
auto cache = SpriteFrameCache::getInstance();
cache->removeSpriteFramesFromFile("zwoptex/grossini.plist");
cache->removeSpriteFramesFromFile("zwoptex/grossini-generic.plist");
}

std::string ZwoptexGenericTest::title() const
{
return "Zwoptex Tests";
}

std::string ZwoptexGenericTest::subtitle() const
{
return "Coordinate Formats, Rotation, Trimming, flipX/Y";
}
25 changes: 25 additions & 0 deletions tests/cpp-tests/Source/SpriteTest/SpriteTest.h
Original file line number Diff line number Diff line change
Expand Up @@ -973,4 +973,29 @@ class SpriteWithImageDataTest3 : public SpriteTestDemo
virtual std::string subtitle() const override;
};

class ZwoptexTest : public TestCase
{
public:
};

class ZwoptexGenericTest : public ZwoptexTest
{
public:
CREATE_FUNC(ZwoptexGenericTest);

virtual ~ZwoptexGenericTest();

virtual void onEnter() override;
void flipSprites(float dt);
void startIn05Secs(float dt);

virtual std::string title() const override;
virtual std::string subtitle() const override;

protected:
ax::Sprite* sprite1;
ax::Sprite* sprite2;
int counter;
};

#endif
151 changes: 0 additions & 151 deletions tests/cpp-tests/Source/ZwoptexTest/ZwoptexTest.cpp

This file was deleted.

57 changes: 0 additions & 57 deletions tests/cpp-tests/Source/ZwoptexTest/ZwoptexTest.h

This file was deleted.

1 change: 0 additions & 1 deletion tests/cpp-tests/Source/tests.h
Original file line number Diff line number Diff line change
Expand Up @@ -119,7 +119,6 @@
#include "UITest/UITest.h"
#include "UserDefaultTest/UserDefaultTest.h"
#include "VibrateTest/VibrateTest.h"
#include "ZwoptexTest/ZwoptexTest.h"
#include "SpriteFrameCacheTest/SpriteFrameCacheTest.h"
#include "ZipTest/ZipTests.h"
#if defined(AX_PLATFORM_PC) || (AX_TARGET_PLATFORM == AX_PLATFORM_ANDROID) || defined(__EMSCRIPTEN__)
Expand Down

0 comments on commit 2bf320e

Please sign in to comment.