From 704c1e8c2f79d043c463882cf134abef6bd400a8 Mon Sep 17 00:00:00 2001 From: Nat Quayle Nelson Date: Sat, 13 Aug 2022 17:55:10 +0000 Subject: [PATCH] move rotationPadding into KissExtendedSprite --- .../source/HabitState.kiss | 11 ++--------- .../src/kiss_flixel/KissExtendedSprite.hx | 13 +++++++++++++ 2 files changed, 15 insertions(+), 9 deletions(-) diff --git a/projects/flixel-desktop-habit-puzzle-game/source/HabitState.kiss b/projects/flixel-desktop-habit-puzzle-game/source/HabitState.kiss index f46516de..ff0d8eda 100644 --- a/projects/flixel-desktop-habit-puzzle-game/source/HabitState.kiss +++ b/projects/flixel-desktop-habit-puzzle-game/source/HabitState.kiss @@ -155,7 +155,6 @@ (prop &mut :Map pieceData (new Map)) (prop &mut :Map> connectedPieces (new Map)) (prop &mut :Map indexMap (new Map)) -(prop &mut :Map rotationPaddingMap (new Map)) (prop &mut :Map spriteMap (new Map)) // Because rewardSprites will be re-ordered in depth handling, this is required (prop &mut lastRewardFileIndex -1) @@ -313,13 +312,7 @@ (FlxSpriteUtil.alphaMask s source.pixels mask.pixels) **(#when debug (kiss_flixel.SpriteTools.writeOnSprite "$i" 32 s (object x (Percent 0.5) y (Percent 0.5)) FlxColor.RED)) - (let [ow s.frameWidth - oh s.frameHeight] - (s.loadRotatedGraphic s.pixels 4 -1 /*false true*/) - (let [nw s.frameWidth - nh s.frameHeight] - (dictSet rotationPaddingMap s (.scale (new FlxPoint (- nw ow) (- nh oh)) 0.5)))) - + (s.loadRotatedGraphic s.pixels 4 -1 /*false true*/) (set s.cameras [pieceCamera]) @@ -436,7 +429,7 @@ maxY (/ (apply max pointsY) ros) tlc (.add (new FlxPoint minX minY) ROT_PADDING ROT_PADDING) brc (.add (new FlxPoint maxX maxY) ROT_PADDING ROT_PADDING) - rotationPadding (dictGet rotationPaddingMap s) + rotationPadding (s.getRotationPadding) rect (.fromTwoPoints (new FlxRect) (tlc.addPoint rotationPadding) (brc.addPoint rotationPadding)) originOffset (new FlxPoint (- s.origin.x rect.x) (- s.origin.y rect.y)) rotated (rect.getRotatedBounds s.angle originOffset)] diff --git a/projects/kiss-flixel/src/kiss_flixel/KissExtendedSprite.hx b/projects/kiss-flixel/src/kiss_flixel/KissExtendedSprite.hx index 014b1f02..ce265944 100644 --- a/projects/kiss-flixel/src/kiss_flixel/KissExtendedSprite.hx +++ b/projects/kiss-flixel/src/kiss_flixel/KissExtendedSprite.hx @@ -33,6 +33,19 @@ class KissExtendedSprite extends flixel.addons.display.FlxExtendedSprite { resetStartPos(); } + private var rotationPadding = new FlxPoint(); + public function getRotationPadding() { + return rotationPadding.copyTo(); + } + + public override function loadRotatedGraphic(Graphic:FlxGraphicAsset, Rotations:Int = 16, Frame:Int = -1, AntiAliasing:Bool = false, AutoBuffer:Bool = false, ?Key:String) { + var ow = frameWidth; + var oh = frameHeight; + var g = super.loadRotatedGraphic(Graphic, Rotations, Frame, AntiAliasing, AutoBuffer, Key); + rotationPadding.set(frameWidth - ow, frameHeight - oh).scale(0.5); + return g; + } + // Sleazy method just for Habit Puzzles public function rotate(deg:Float) { if (deg < 0) {