Simplify slime compression
This commit is contained in:
@@ -59,15 +59,16 @@ drawCreature w m cr = translateSP (_crPos cr) . fallrot . rotateSP (_crDir cr) $
|
||||
drawSlimeCrit :: Creature -> Shape
|
||||
drawSlimeCrit cr = colorSH green
|
||||
$ upperPrismPolyHalf Medium Typical (cr ^?! crType . slimeEngulfProgress + min 15 r) $ polyCirc 6 r
|
||||
& each %~ scaleAlong d s
|
||||
& each %~ scaleAlong (vNormal d) (1 / s)
|
||||
& each %~ rotateV (-cr ^. crDir)
|
||||
& each %~ (((r-cr^?!crType.slimeRadWobble)/r) *^)
|
||||
& each . _x *~ p
|
||||
& each . _y %~ (/p)
|
||||
-- & each %~ scaleAlong d s
|
||||
-- & each %~ scaleAlong (vNormal d) (1 / s)
|
||||
-- & each %~ rotateV (-cr ^. crDir)
|
||||
where
|
||||
r = cr ^?! crType . slimeSlime . to slimeToRad
|
||||
r = slimeToRad $ cr ^?! crType . slimeSlime - cr ^?! crType . slimeSlimeChange
|
||||
p = cr ^?! crType . slimeCompression
|
||||
d = normalize p
|
||||
s = norm p / r
|
||||
-- d = normalize p
|
||||
-- s = norm p / r
|
||||
|
||||
-- assumes d is a unit vector
|
||||
scaleAlong :: Point2 -> Float -> Point2 -> Point2
|
||||
|
||||
Reference in New Issue
Block a user