diff --git a/cocos/2d/CCSprite.cpp b/cocos/2d/CCSprite.cpp index 2f871e6dbf..e401be8d6b 100644 --- a/cocos/2d/CCSprite.cpp +++ b/cocos/2d/CCSprite.cpp @@ -578,6 +578,15 @@ void Sprite::updateTransform(void) float x2 = x1 + size.width; float y2 = y1 + size.height; + if (_flippedX) + { + std::swap(x1, x2); + } + if (_flippedY) + { + std::swap(y1, y2); + } + float x = _transformToBatch.m[12]; float y = _transformToBatch.m[13]; @@ -601,7 +610,6 @@ void Sprite::updateTransform(void) _quad.br.vertices.set(SPRITE_RENDER_IN_SUBPIXEL(bx), SPRITE_RENDER_IN_SUBPIXEL(by), _positionZ); _quad.tl.vertices.set(SPRITE_RENDER_IN_SUBPIXEL(dx), SPRITE_RENDER_IN_SUBPIXEL(dy), _positionZ); _quad.tr.vertices.set(SPRITE_RENDER_IN_SUBPIXEL(cx), SPRITE_RENDER_IN_SUBPIXEL(cy), _positionZ); - setTextureCoords(_rect); } // MARMALADE CHANGE: ADDED CHECK FOR nullptr, TO PERMIT SPRITES WITH NO BATCH NODE / TEXTURE ATLAS diff --git a/tests/cpp-tests/Classes/TileMapTest/TileMapTest.cpp b/tests/cpp-tests/Classes/TileMapTest/TileMapTest.cpp index 260d1718ad..4d5e5fe512 100644 --- a/tests/cpp-tests/Classes/TileMapTest/TileMapTest.cpp +++ b/tests/cpp-tests/Classes/TileMapTest/TileMapTest.cpp @@ -48,7 +48,6 @@ TileMapTests::TileMapTests() ADD_TEST_CASE(TMXBug987); ADD_TEST_CASE(TMXBug787); ADD_TEST_CASE(TMXGIDObjectsTest); - ADD_TEST_CASE(TMXFlipTest); } TileDemo::TileDemo() @@ -1458,24 +1457,3 @@ std::string TMXGIDObjectsTest::subtitle() const { return "Tiles are created from an object group"; } - -//------------------------------------------------------------------ -// -// TMXFlipTest -// -//------------------------------------------------------------------ -TMXFlipTest::TMXFlipTest() -{ - auto map = TMXTiledMap::create("TileMaps/flip-test/flip-test.tmx"); - addChild(map, -1, kTagTileMap); -} - -std::string TMXFlipTest::title() const -{ - return "TMX With Flipped SpriteBatchNode"; -} - -std::string TMXFlipTest::subtitle() const -{ - return "There are tiles with Flipped SpriteBatchNode"; -} diff --git a/tests/cpp-tests/Classes/TileMapTest/TileMapTest.h b/tests/cpp-tests/Classes/TileMapTest/TileMapTest.h index 0967b22f8c..831aa18610 100644 --- a/tests/cpp-tests/Classes/TileMapTest/TileMapTest.h +++ b/tests/cpp-tests/Classes/TileMapTest/TileMapTest.h @@ -323,13 +323,4 @@ public: virtual std::string subtitle() const override; }; -class TMXFlipTest : public TileDemo -{ -public: - CREATE_FUNC(TMXFlipTest); - TMXFlipTest(); - virtual std::string title() const override; - virtual std::string subtitle() const override; -}; - #endif diff --git a/tests/cpp-tests/Resources/TileMaps/flip-test/00/m1_decoration1.png b/tests/cpp-tests/Resources/TileMaps/flip-test/00/m1_decoration1.png deleted file mode 100644 index bd62ff79ff..0000000000 Binary files a/tests/cpp-tests/Resources/TileMaps/flip-test/00/m1_decoration1.png and /dev/null differ diff --git a/tests/cpp-tests/Resources/TileMaps/flip-test/00/m1_decoration2.png b/tests/cpp-tests/Resources/TileMaps/flip-test/00/m1_decoration2.png deleted file mode 100644 index 69dc79e87e..0000000000 Binary files a/tests/cpp-tests/Resources/TileMaps/flip-test/00/m1_decoration2.png and /dev/null differ diff --git a/tests/cpp-tests/Resources/TileMaps/flip-test/00/m1_lumian1.png b/tests/cpp-tests/Resources/TileMaps/flip-test/00/m1_lumian1.png deleted file mode 100644 index 3b36b2e687..0000000000 Binary files a/tests/cpp-tests/Resources/TileMaps/flip-test/00/m1_lumian1.png and /dev/null differ diff --git a/tests/cpp-tests/Resources/TileMaps/flip-test/00/m1_lumian2.png b/tests/cpp-tests/Resources/TileMaps/flip-test/00/m1_lumian2.png deleted file mode 100644 index 6fdd7a92b0..0000000000 Binary files a/tests/cpp-tests/Resources/TileMaps/flip-test/00/m1_lumian2.png and /dev/null differ diff --git a/tests/cpp-tests/Resources/TileMaps/flip-test/00/m1_mg.png b/tests/cpp-tests/Resources/TileMaps/flip-test/00/m1_mg.png deleted file mode 100644 index e949232f02..0000000000 Binary files a/tests/cpp-tests/Resources/TileMaps/flip-test/00/m1_mg.png and /dev/null differ diff --git a/tests/cpp-tests/Resources/TileMaps/flip-test/00/m4_bg1.png b/tests/cpp-tests/Resources/TileMaps/flip-test/00/m4_bg1.png deleted file mode 100644 index 154e7015bd..0000000000 Binary files a/tests/cpp-tests/Resources/TileMaps/flip-test/00/m4_bg1.png and /dev/null differ diff --git a/tests/cpp-tests/Resources/TileMaps/flip-test/00/m4_decoration1.png b/tests/cpp-tests/Resources/TileMaps/flip-test/00/m4_decoration1.png deleted file mode 100644 index b237a2f0f0..0000000000 Binary files a/tests/cpp-tests/Resources/TileMaps/flip-test/00/m4_decoration1.png and /dev/null differ diff --git a/tests/cpp-tests/Resources/TileMaps/flip-test/00/newguide.png b/tests/cpp-tests/Resources/TileMaps/flip-test/00/newguide.png deleted file mode 100644 index 27353ca7a0..0000000000 Binary files a/tests/cpp-tests/Resources/TileMaps/flip-test/00/newguide.png and /dev/null differ diff --git a/tests/cpp-tests/Resources/TileMaps/flip-test/flip-test.tmx b/tests/cpp-tests/Resources/TileMaps/flip-test/flip-test.tmx deleted file mode 100644 index 32ac843147..0000000000 --- a/tests/cpp-tests/Resources/TileMaps/flip-test/flip-test.tmx +++ /dev/null @@ -1,313 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 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 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -