From b2efcacfd1bc035f6d309db8f0b57f90e4166366 Mon Sep 17 00:00:00 2001 From: cameron <86209629+slameron@users.noreply.github.com> Date: Wed, 5 Mar 2025 20:37:27 -0500 Subject: [PATCH 1/2] fix cliprect on scaled members in FlxSpriteGroup --- flixel/group/FlxSpriteGroup.hx | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/flixel/group/FlxSpriteGroup.hx b/flixel/group/FlxSpriteGroup.hx index a1f43596e1..fc8cf38211 100644 --- a/flixel/group/FlxSpriteGroup.hx +++ b/flixel/group/FlxSpriteGroup.hx @@ -1086,7 +1086,8 @@ class FlxTypedSpriteGroup extends FlxSprite if (ClipRect == null) Sprite.clipRect = null; else - Sprite.clipRect = FlxRect.get(ClipRect.x - Sprite.x + x, ClipRect.y - Sprite.y + y, ClipRect.width, ClipRect.height); + Sprite.clipRect = FlxRect.get((ClipRect.x - Sprite.x + x) * (1 / Sprite.scale.x), (ClipRect.y - Sprite.y + y) * (1 / Sprite.scale.y), + ClipRect.width * (1 / Sprite.scale.x), ClipRect.height * (1 / Sprite.scale.y)); } // Functions for the FlxCallbackPoint From 11632f6833f2d9b227f1b7accfcf88e501795931 Mon Sep 17 00:00:00 2001 From: cameron <86209629+slameron@users.noreply.github.com> Date: Thu, 6 Mar 2025 10:39:18 -0500 Subject: [PATCH 2/2] revert scale change and make clipRectTransform non-inline --- flixel/group/FlxSpriteGroup.hx | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/flixel/group/FlxSpriteGroup.hx b/flixel/group/FlxSpriteGroup.hx index fc8cf38211..154bcc253d 100644 --- a/flixel/group/FlxSpriteGroup.hx +++ b/flixel/group/FlxSpriteGroup.hx @@ -1081,13 +1081,12 @@ class FlxTypedSpriteGroup extends FlxSprite inline function scrollFactorTransform(Sprite:FlxSprite, ScrollFactor:FlxPoint) Sprite.scrollFactor.copyFrom(ScrollFactor); - inline function clipRectTransform(Sprite:FlxSprite, ClipRect:FlxRect) + function clipRectTransform(Sprite:FlxSprite, ClipRect:FlxRect) { if (ClipRect == null) Sprite.clipRect = null; else - Sprite.clipRect = FlxRect.get((ClipRect.x - Sprite.x + x) * (1 / Sprite.scale.x), (ClipRect.y - Sprite.y + y) * (1 / Sprite.scale.y), - ClipRect.width * (1 / Sprite.scale.x), ClipRect.height * (1 / Sprite.scale.y)); + Sprite.clipRect = FlxRect.get(ClipRect.x - Sprite.x + x, ClipRect.y - Sprite.y + y, ClipRect.width, ClipRect.height); } // Functions for the FlxCallbackPoint