From 4ccfd04ec3ee533552a700b1bf8e89aa2336faec Mon Sep 17 00:00:00 2001 From: richTrash21 <87835336+richTrash21@users.noreply.github.com> Date: Sat, 12 Apr 2025 22:12:31 +0400 Subject: [PATCH 1/3] color transform frame pixels only on blit render --- flixel/FlxSprite.hx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/flixel/FlxSprite.hx b/flixel/FlxSprite.hx index 27cbb5af0c..4a69990eac 100644 --- a/flixel/FlxSprite.hx +++ b/flixel/FlxSprite.hx @@ -1230,7 +1230,7 @@ class FlxSprite extends FlxObject framePixels = _frame.paintRotatedAndFlipped(framePixels, _flashPointZero, FlxFrameAngle.ANGLE_0, doFlipX, doFlipY, false, true); } - if (useColorTransform) + if (FlxG.renderBlit && useColorTransform) { framePixels.colorTransform(_flashRect, colorTransform); } From e5b4ecc42d3adfe338be104c34ffff510bbd8152 Mon Sep 17 00:00:00 2001 From: richTrash21 <87835336+richTrash21@users.noreply.github.com> Date: Sun, 13 Apr 2025 03:41:57 +0400 Subject: [PATCH 2/3] style --- flixel/FlxSprite.hx | 24 +++++++++--------------- 1 file changed, 9 insertions(+), 15 deletions(-) diff --git a/flixel/FlxSprite.hx b/flixel/FlxSprite.hx index 4a69990eac..f5cc877342 100644 --- a/flixel/FlxSprite.hx +++ b/flixel/FlxSprite.hx @@ -1201,7 +1201,7 @@ class FlxSprite extends FlxObject updateFramePixels(); } - + /** * Retrieves the `BitmapData` of the current `FlxFrame`. Updates `framePixels`. */ @@ -1209,7 +1209,7 @@ class FlxSprite extends FlxObject { if (_frame == null || !dirty) return framePixels; - + // don't try to regenerate frame pixels if _frame already uses it as source of graphics // if you'll try then it will clear framePixels and you won't see anything if (FlxG.renderTile && _frameGraphic != null) @@ -1217,24 +1217,18 @@ class FlxSprite extends FlxObject dirty = false; return framePixels; } - - var doFlipX:Bool = checkFlipX(); - var doFlipY:Bool = checkFlipY(); - + + final doFlipX = checkFlipX(); + final doFlipY = checkFlipY(); + if (!doFlipX && !doFlipY && _frame.type == FlxFrameType.REGULAR) - { framePixels = _frame.paint(framePixels, _flashPointZero, false, true); - } else - { framePixels = _frame.paintRotatedAndFlipped(framePixels, _flashPointZero, FlxFrameAngle.ANGLE_0, doFlipX, doFlipY, false, true); - } - + if (FlxG.renderBlit && useColorTransform) - { framePixels.colorTransform(_flashRect, colorTransform); - } - + if (FlxG.renderTile && useFramePixels) { // recreate _frame for native target, so it will use modified framePixels @@ -1242,7 +1236,7 @@ class FlxSprite extends FlxObject _frameGraphic = FlxGraphic.fromBitmapData(framePixels, false, null, false); _frame = _frameGraphic.imageFrame.frame.copyTo(_frame); } - + dirty = false; return framePixels; } From ef73d2cbac8e18025ad44316fefd26e9ed67e5df Mon Sep 17 00:00:00 2001 From: richTrash21 <87835336+richTrash21@users.noreply.github.com> Date: Sun, 13 Apr 2025 04:01:42 +0400 Subject: [PATCH 3/3] remove useless line --- flixel/FlxSprite.hx | 1 - 1 file changed, 1 deletion(-) diff --git a/flixel/FlxSprite.hx b/flixel/FlxSprite.hx index f5cc877342..80360b6cd3 100644 --- a/flixel/FlxSprite.hx +++ b/flixel/FlxSprite.hx @@ -1232,7 +1232,6 @@ class FlxSprite extends FlxObject if (FlxG.renderTile && useFramePixels) { // recreate _frame for native target, so it will use modified framePixels - _frameGraphic = FlxDestroyUtil.destroy(_frameGraphic); _frameGraphic = FlxGraphic.fromBitmapData(framePixels, false, null, false); _frame = _frameGraphic.imageFrame.frame.copyTo(_frame); }