@@ -955,11 +955,15 @@ function PassiveTreeViewClass:Draw(build, viewPort, inputEvents)
955955 circle1 = tree :GetAssetByName (" art/textures/interface/2d/2dart/uiimages/ingame/" .. conqueror .. " /" .. conqueror .. " passiveskillscreenjewelcircle1.dds" )
956956 circle2 = circle1
957957 end
958- DrawImage (circle1 .handle , scrX - outerSize , scrY - outerSize , outerSize * 2 , outerSize * 2 , unpack (circle1 ))
959- DrawImage (circle2 .handle , scrX - outerSize , scrY - outerSize , outerSize * 2 , outerSize * 2 , unpack (circle2 ))
958+ local t = GetTime () * 0.00003
959+ self :DrawImageRotated (circle1 .handle , scrX , scrY , outerSize * 2 , outerSize * 2 , - t * 0.8 , unpack (circle1 ))
960+ self :DrawImageRotated (circle2 .handle , scrX , scrY , outerSize * 2 , outerSize * 2 , t , unpack (circle2 ))
960961 else
961- DrawImage (self .jewelShadedOuterRing , scrX - outerSize , scrY - outerSize , outerSize * 2 , outerSize * 2 )
962- DrawImage (self .jewelShadedOuterRingFlipped , scrX - outerSize , scrY - outerSize , outerSize * 2 , outerSize * 2 )
962+ local t = GetTime () * 0.00003
963+ self :DrawImageRotated (self .jewelShadedOuterRing , scrX , scrY , outerSize * 2 , outerSize * 2 , - t * 0.8 )
964+ self :DrawImageRotated (self .jewelShadedOuterRingFlipped , scrX , scrY , outerSize * 2 , outerSize * 2 , t )
965+
966+ -- keep the inner rings static
963967 DrawImage (self .jewelShadedInnerRing , scrX - innerSize , scrY - innerSize , innerSize * 2 , innerSize * 2 )
964968 DrawImage (self .jewelShadedInnerRingFlipped , scrX - innerSize , scrY - innerSize , innerSize * 2 , innerSize * 2 )
965969 end
@@ -990,6 +994,22 @@ function PassiveTreeViewClass:DrawAsset(data, x, y, scale, isHalf)
990994 end
991995end
992996
997+ function PassiveTreeViewClass :DrawImageRotated (handle , x , y , width , height , angle , ...)
998+ local hw , hh = width / 2 , height / 2
999+ local cosA , sinA = math.cos (angle ), math.sin (angle )
1000+
1001+ local x1 = x - hw * cosA + hh * sinA
1002+ local y1 = y - hw * sinA - hh * cosA
1003+ local x2 = x + hw * cosA + hh * sinA
1004+ local y2 = y + hw * sinA - hh * cosA
1005+ local x3 = x + hw * cosA - hh * sinA
1006+ local y3 = y + hw * sinA + hh * cosA
1007+ local x4 = x - hw * cosA - hh * sinA
1008+ local y4 = y - hw * sinA + hh * cosA
1009+
1010+ DrawImageQuad (handle , x1 , y1 , x2 , y2 , x3 , y3 , x4 , y4 , ... )
1011+ end
1012+
9931013function PassiveTreeViewClass :DrawQuadAndRotate (data , xTree , yTree , angleRad , treeToScreen )
9941014 local vertActive = {}
9951015 local xActive = xTree
0 commit comments